From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- comm/suite/app/Makefile.in | 143 + comm/suite/app/blocklist.xml | 5225 ++++++++++++++++++++ comm/suite/app/icons/moz.build | 21 + .../app/icons/windows/calendar-alarm-dialog.ico | Bin 0 -> 7886 bytes .../app/icons/windows/calendar-event-dialog.ico | Bin 0 -> 7886 bytes .../windows/calendar-event-summary-dialog.ico | Bin 0 -> 7886 bytes .../app/icons/windows/calendar-task-dialog.ico | Bin 0 -> 7886 bytes .../icons/windows/calendar-task-summary-dialog.ico | Bin 0 -> 7886 bytes comm/suite/app/macbuild/Contents/Info.plist.in | 275 ++ .../app/macbuild/Contents/MacOS-files-copy.in | 11 + comm/suite/app/macbuild/Contents/MacOS-files.in | 8 + .../Resources/English.lproj/InfoPlist.strings.in | 7 + comm/suite/app/module.ver | 8 + comm/suite/app/moz.build | 129 + comm/suite/app/nsSuiteApp.cpp | 335 ++ comm/suite/app/permissions | 10 + comm/suite/app/profile/channel-prefs.js | 5 + comm/suite/app/profile/suite-prefs.js | 1500 ++++++ comm/suite/app/seamonkey.exe.manifest | 46 + comm/suite/app/seamonkey.man.in | 160 + comm/suite/app/splash.rc | 23 + 21 files changed, 7906 insertions(+) create mode 100644 comm/suite/app/Makefile.in create mode 100644 comm/suite/app/blocklist.xml create mode 100644 comm/suite/app/icons/moz.build create mode 100644 comm/suite/app/icons/windows/calendar-alarm-dialog.ico create mode 100644 comm/suite/app/icons/windows/calendar-event-dialog.ico create mode 100644 comm/suite/app/icons/windows/calendar-event-summary-dialog.ico create mode 100644 comm/suite/app/icons/windows/calendar-task-dialog.ico create mode 100644 comm/suite/app/icons/windows/calendar-task-summary-dialog.ico create mode 100644 comm/suite/app/macbuild/Contents/Info.plist.in create mode 100644 comm/suite/app/macbuild/Contents/MacOS-files-copy.in create mode 100644 comm/suite/app/macbuild/Contents/MacOS-files.in create mode 100644 comm/suite/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in create mode 100644 comm/suite/app/module.ver create mode 100644 comm/suite/app/moz.build create mode 100644 comm/suite/app/nsSuiteApp.cpp create mode 100644 comm/suite/app/permissions create mode 100644 comm/suite/app/profile/channel-prefs.js create mode 100644 comm/suite/app/profile/suite-prefs.js create mode 100644 comm/suite/app/seamonkey.exe.manifest create mode 100644 comm/suite/app/seamonkey.man.in create mode 100644 comm/suite/app/splash.rc (limited to 'comm/suite/app') diff --git a/comm/suite/app/Makefile.in b/comm/suite/app/Makefile.in new file mode 100644 index 0000000000..acb1322ffe --- /dev/null +++ b/comm/suite/app/Makefile.in @@ -0,0 +1,143 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +dist_dest = $(DIST)/$(MOZ_MACBUNDLE_NAME) + +AB_CD = $(MOZ_UI_LOCALE) + +LICENSE_TXT_FILE = $(topsrcdir)/comm/suite/installer/license.txt + +# Build a binary bootstrapping with XRE_main + +ifndef MOZ_WINCONSOLE +ifdef MOZ_DEBUG +MOZ_WINCONSOLE = 1 +else +MOZ_WINCONSOLE = 0 +endif +endif + +include $(topsrcdir)/config/config.mk + +# If we are trying to show an error dialog about the lack of SSE2 support, +# make sure that code itself doesn't use SSE2. +ifdef MOZ_LINUX_32_SSE2_STARTUP_ERROR +CXX := $(filter-out -march=% -msse -msse2 -mfpmath=sse,$(CXX)) +CXX += -march=pentiumpro +endif + +ifeq ($(OS_ARCH),WINNT) +# Rebuild seamonkey.exe if the manifest changes - it's included by splash.rc. +# (this dependency should really be just for seamonkey.exe, not other targets) +# Note the manifest file exists in the tree, so we use the explicit filename +# here. +EXTRA_DEPS += $(srcdir)/seamonkey.exe.manifest +endif + +include $(topsrcdir)/config/rules.mk + +# channel-prefs.js is handled separate from other prefs due to bug 756325. +libs:: $(srcdir)/profile/channel-prefs.js + $(NSINSTALL) -D $(DIST)/bin/defaults/pref + $(call py_action,preprocessor,-Fsubstitution $(PREF_PPFLAGS) $(ACDEFINES) $^ -o $(DIST)/bin/defaults/pref/channel-prefs.js) + +libs:: $(LICENSE_TXT_FILE) +ifeq ($(OS_ARCH),WINNT) + $(EXIT_ON_ERROR) \ + perl -pe 's/(? $(DIST)/bin/license.txt + +else + $(INSTALL) $(IFLAGS1) $^ $(DIST)/bin/ +endif + +ifneq ($(OS_ARCH),WINNT) + +ifdef COMPILE_ENVIRONMENT +libs:: + cp -p $(DIST)/bin/$(MOZ_APP_NAME)$(BIN_SUFFIX) $(DIST)/bin/$(MOZ_APP_NAME)-bin$(BIN_SUFFIX) +endif + +endif + +ifneq (,$(filter-out WINNT Darwin,$(OS_ARCH))) +$(MOZ_APP_NAME).1: $(srcdir)/seamonkey.man.in $(GLOBAL_DEPS) $(DEPTH)/config/autoconf.mk + @sed -e "s|\@bindir\@|$(bindir)|g" -e "s|\@mozappdir\@|$(mozappdir)|g" \ + -e "s|\@MOZ_APP_DISPLAYNAME\@|$(MOZ_APP_DISPLAYNAME)|g" \ + -e "s|\@MOZ_APP_NAME\@|$(MOZ_APP_NAME)|g" \ + -e "s|\@MOZ_APP_VERSION\@|${MOZ_APP_VERSION}|g" < $< > $@ + +libs:: $(MOZ_APP_NAME).1 + $(INSTALL) $< $(DIST)/man/man1 + +GARBAGE += $(MOZ_APP_NAME).1 +GARBAGE += $(addprefix $(FINAL_TARGET)/defaults/pref/, all.js mailnews.js suite-prefs.js) +endif + +# Make extensions end up as XPIs instead of flat chrome when doing omni.jar. +# Extensions that appear in dist/bin/extensions will get bundled with the +# application. +# NOTE: This is a hack to run this at the end of compilation, would be nicer +# if this was done right away for built-in extensions in omnijar mode. + +ABS_STAGE = $(abspath $(STAGEDIST)) + +define _PACKAGE_EXTENSIONS +@echo "Packaging $(dir)..." +if test -d "$(ABS_STAGE)/$(dir)"; then \ +cd $(ABS_STAGE)/$(dir)/; \ +$(ZIP) -r9mX ../$(dir).xpi * -x \*/.mkdir.done; \ +cd ..; rm -rf $(ABS_STAGE)/$(dir); \ +fi + +endef # do not remove the blank line! + +# GUIDs +# Unused for now. All extensions are being packed. +DONOTPACK = {9999999% + +pack-ext: $(STAGEDIST) + @echo "Packaging extensions..." + $(foreach dir,$(filter-out $(DONOTPACK),$(subst $(STAGEDIST)/,,$(wildcard $(STAGEDIST)/*))),$(_PACKAGE_EXTENSIONS)) + +tools:: + @$(MAKE) pack-ext STAGEDIST='$(DIST)/bin/extensions' + +# Additional macOS build steps. +ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) + +MAC_APP_NAME = $(MOZ_APP_DISPLAYNAME) + +ifdef MOZ_DEBUG +MAC_APP_NAME := $(MAC_APP_NAME)Debug +endif + +ifeq (zh-TW,$(AB_CD)) +LPROJ_ROOT := $(subst -,_,$(AB_CD)) +else +LPROJ_ROOT := $(firstword $(subst -, ,$(AB_CD))) +endif +LPROJ := Contents/Resources/$(LPROJ_ROOT).lproj + +clean clobber repackage:: + $(RM) -r '$(dist_dest)' + +tools:: $(DIST)/bin/$(MOZ_APP_NAME) + rm -rf $(dist_dest) + mkdir -p '$(dist_dest)/Contents/MacOS' + rsync -a --exclude "*.in" $(srcdir)/macbuild/Contents '$(dist_dest)' --exclude English.lproj + mkdir -p '$(dist_dest)/$(LPROJ)' + rsync -a --exclude "*.in" $(srcdir)/macbuild/Contents/Resources/English.lproj/ '$(dist_dest)/$(LPROJ)' + sed -e 's/\@MOZ_APP_NAME\@/$(MOZ_APP_NAME)/' -e 's/\@MAC_APP_NAME\@/$(MAC_APP_NAME)/' -e 's/\@MOZ_APP_DISPLAYNAME\@/$(MOZ_APP_DISPLAYNAME)/' -e 's/\@MOZ_APP_VERSION\@/$(MOZ_APP_VERSION)/' -e 's/\@MOZ_MACBUNDLE_ID\@/$(MOZ_MACBUNDLE_ID)/' -e 's|\@MOZ_DEVELOPER_REPO_PATH\@|$(topsrcdir)|' -e 's|\@MOZ_DEVELOPER_OBJ_PATH\@|$(topobjdir)|' $(srcdir)/macbuild/Contents/Info.plist.in > '$(dist_dest)/Contents/Info.plist' + sed -e "s/\@MAC_APP_NAME\@/$(MAC_APP_NAME)/" $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > '$(dist_dest)/$(LPROJ)/InfoPlist.strings' + rsync -a --exclude-from='$(srcdir)/macbuild/Contents/MacOS-files.in' $(DIST)/bin/ '$(dist_dest)/Contents/Resources' + rsync -a --include-from='$(srcdir)/macbuild/Contents/MacOS-files.in' --exclude '*' $(DIST)/bin/ '$(dist_dest)/Contents/MacOS' + # MacOS-files-copy.in is a list of files that should be copies rather + # than symlinks and placed in .app/Contents/MacOS. + rsync -aL --include-from='$(srcdir)/macbuild/Contents/MacOS-files-copy.in' --exclude '*' $(DIST)/bin/ '$(dist_dest)/Contents/MacOS' + rm -f '$(dist_dest)/Contents/MacOS/$(MOZ_APP_NAME)' + rsync -aL $(DIST)/bin/$(MOZ_APP_NAME) '$(dist_dest)/Contents/MacOS' + cp -RL $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/seamonkey.icns '$(dist_dest)/Contents/Resources/seamonkey.icns' + cp -RL $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/document.icns '$(dist_dest)/Contents/Resources/document.icns' + printf APPLMOZZ > '$(dist_dest)/Contents/PkgInfo' +endif diff --git a/comm/suite/app/blocklist.xml b/comm/suite/app/blocklist.xml new file mode 100644 index 0000000000..da13d0d40e --- /dev/null +++ b/comm/suite/app/blocklist.xml @@ -0,0 +1,5225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + app.update.auto + app.update.enabled + app.update.interval + app.update.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + security.csp.enable + security.fileuri.strict_origin_policy + security.mixed_content.block_active_content + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.search.defaultenginename + + + + + + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/shockwave/ + + + + + https://get.adobe.com/shockwave/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + https://java.com/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WINNT 6.2 + 0x1022 + DIRECT2D + BLOCKED_DRIVER_VERSION + 9.10.8.0 + LESS_THAN_OR_EQUAL + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1892 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + WINNT 6.1 + 0x1002 + DIRECT2D + BLOCKED_DEVICE + + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + + + Darwin 10 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + WINNT 6.3 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + Darwin 11 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + WINNT 8.1 + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 15.201.1151.0 + LESS_THAN + + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + + + All + 0x1022 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + WINNT 5.1 + 0x10de + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 7.0.0.0 + GREATER_THAN_OR_EQUAL + + + WINNT 6.2 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1851 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + Darwin 11 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + WINNT 5.1 + 0x8086 + WEBGL_ANGLE + BLOCKED_DRIVER_VERSION + 6.14.10.5218 + LESS_THAN + + + + All + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + All + 0x1002 + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1883 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + WINNT 6.1 + 0x10de + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.17.12.5896 + LESS_THAN_OR_EQUAL + + 0x0a6c + + + + WINNT 6.2 + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 9.10.8.0 + LESS_THAN_OR_EQUAL + + + All + 0x1022 + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1872 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + All + 0x8086 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.15.10.2413 + LESS_THAN_OR_EQUAL + + + WINNT 6.1 + 0x1002 + DIRECT3D_9_LAYERS + BLOCKED_DEVICE + + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + + + WINNT 10.0 + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 15.201.1151.0 + LESS_THAN + + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1855 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + WINNT 6.1 + 0x10de + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.17.12.5896 + LESS_THAN_OR_EQUAL + + 0x0a6c + + + + WINNT 5.1 + 0x8086 + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 6.14.10.5218 + LESS_THAN + + + Darwin 10 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + WINNT 6.1 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + Darwin 10 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 12 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + WINNT 5.1 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + WINNT 5.2 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + WINNT 10.0 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1994 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + Darwin 12 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 12 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.2086 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + WINNT 6.0 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + Darwin 11 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + + + YR3YYQAAAAAABA== + + + TXxtAQ== + + + ESCEUbthDurBjJw0/h/FfuNY + + + CWhp + + + cpqpXVWPk5AXzGw+zNIcBw== + + + BydKkg== + + + BAAAAAABJQcQQN0= + + + EEpERSryZFMagbsNw/WoWQ== + + + U3SgRR3J+D6575WuCxuXeQ== + + + U4P1tUoxl/XkztlVHdtdgw== + + + BAAAAAABAPpuVh0= + + + U3t2Vk8pfxTcaUPpIq0seQ== + + + CSU= + + + UW3oKZKTDsrPy/rfwmGNaQ== + + + BAAAAAABLF5/Gog= + + + BAAAAAABKUXDqA8= + + + QZBvapTZFvmYktEPsBYLQQ== + + + eR1nUEz8k+nDSBD+bb5uIQ== + + + D/wZ7+m1Mv8SONSEFcs73w== + + + P6G7IYSL2RZxtzTh8I6qPA== + + + BYOGvG32ukb1Yxj2oKoFyw== + + + ESByYNtAIfizf2L3NMzCH8zZ + + + AQAAAAQ= + + + ESAyW/JX3+hZIp44EAMlXU2b + + + AQAAAAM= + + + Cfk9qg== + + + BAAAAAABHkSHjz8= + + + BAAAAAABLM/7qjk= + + + L7tgs/W85vnhV7I7qJ6N/g== + + + BAAAAAABL07hTcY= + + + DYifRdP6aQQ8MLbXZY2f5g== + + + BAAAAAABHJRKNmk= + + + CSY= + + + BAAAAAABCFiEp9s= + + + AQAAAAU= + + + GN2Hrh9LtnA= + + + e0bEFhI16xx9U1yvlI56rA== + + + ATFEdg== + + + YRJNfMoc12IpmW+Enpv3Pdo= + + + E77H6yvyFQjO0PcN3x0H+Q== + + + CqL7CA== + + + AygWP2Fgd2T+iLbmAlKT6g== + + + QZCrvA== + + + OE4/d+p3YRzzcSl+kmZ8Mw== + + + EqthLKdUgwI= + + + PAdKZPiaac2CvPxbOrsHOw== + + + UoRGnb96CUDTxIqVry6LBg== + + + DjIvBkX+ECVbB/C3i6w2Gg== + + + CcHC1w== + + + Cbssdw== + + + A9GPKQ8jv9oIxfwiOy7qxQ== + + + BAAAAAABHkSHki0= + + + YNOos6YJoPC77qwSGCpb7w== + + + LTRcDHabRHU= + + + ESJJweWBPhoXAaB9c8SHwI4O + + + Byd5cg== + + + BAAAAAABMYnGRuw= + + + Aw== + + + BA== + + + ESDu2nhlLPzfx+LYgjlYFP/k + + + BAAAAAABKB/OGqI= + + + BAAAAAABHkSHlSo= + + + BAAAAAABEAuMoRs= + + + F5Bg+EziQQ== + + + Cyr1PA== + + + OqQ2rV0ISTc308Z/oQgzFw== + + + cXXMzbWDHMIdCotb3h64yw== + + + BAAAAAABCfhiO+s= + + + Ermwxw== + + + BAAAAAABMrS7t2g= + + + AuhvPsYZfVP6UDsuyjeZ4Q== + + + Byc68g== + + + BAAAAAABI54PryQ= + + + EDQMI0tR4kSntv1O37N10g== + + + UUFV3S2cUidOOv7ESN65Ng== + + + Ai7cBJYqBE0I9NdyoZfRrw== + + + HNo1DR4XCe4mS1iUMsY6Wg== + + + IyIVazG4RE9AERkb+ekH8w== + + + Cfk9oA== + + + buROL/l2GuXISv+/JVLkdA== + + + sPNcCSE9Nkg3jy5IN1xe2Q== + + + JV/LVzSKI/wsDgg3UuZHlA== + + + WX89jn8yGZVvoKTD9jDfRQ== + + + CrTHPEE6AZSfI3jysin2bA== + + + ESISuBo/wdW2tBztKmHdFCFz + + + F5BhENPfVw== + + + AN9bfYOvlR1t + + + OhrtngFwotLcm4i+z00SjA== + + + VfTSum25nb65YPlpuhJAvg== + + + FNISyWWTGi5Yco6fGh58/A== + + + BAAAAAABM6d3Z0s= + + + BAAAAAABJ/ufQg8= + + + Mq0P6o03FDk0B2bnJ+mYPGo= + + + bx/XHJqcwxDOptxJ2lh5vw== + + + ESDItX4ruWiLnrlz0rk4/bmz + + + FJl6tXgNpSg= + + + GN2Hrh9LtnM= + + + BAAAAAABK84ykc0= + + + ESC8DawWRiAyEMd38UXbfgPR + + + ByfHkw== + + + BAAAAAABJpQ0AbA= + + + Rvm2CEw2IC2Mu/ax0A46QQ== + + + BAAAAAABGMGjftY= + + + BAAAAAABJ/v3ZwA= + + + Gd/pPu+qLnXUdvP9sW73CQ== + + + bzTw0uq05TUYEGS98bh0Ww== + + + UV9aaDeNRNtQuXjRYk4Skhg= + + + ATFpsA== + + + VOcIuNbTqkpOMUyI108FOg== + + + BXA= + + + BAAAAAABLF5/HXY= + + + ATE0vw== + + + CcHC/g== + + + DHmmaw== + + + Sx51x7V8pYe8rp7PMP/3qg== + + + F7PAjw2k0dTX5escPnyVOBo= + + + BQ== + + + 45KI4WIxyXfNrdtdj7C6 + + + JpUvYJyWjdGmeoH7YcYunw== + + + fWK0j/Vi8vNWg3VAGjc02w== + + + BAAAAAABIBnBjWg= + + + M64Z5ufZzDRVTHkJR1uXzw== + + + Cd/dug== + + + NTgf4iwIfeyJPIomw2dwSXEwtxQ= + + + CjM= + + + a12RvBNhznU= + + + CskruA== + + + HZyLf+K70FKc+jomm8DiDw== + + + F5Bg6C237Q== + + + ESCis569omrbb20yySF39+aE + + + a9/VeyVWrzFD7rM2PEHwQA== + + + cDggUYfwJ3A1YcdoeT6s4A== + + + VLm3Xe60+1YgPpXCGtXLng== + + + ezdAeCxKH7BFs7vn3byYaw== + + + By7fBTreouRwX/qrpgSUsg== + + + O2S99lVUxErLSk56GvWRv+E= + + + BAAAAAABGMG0Gmw= + + + ESCVop+Q4/OBgtf4WJkr01Gh + + + BydeGg== + + + ANygrItIJ2rcKlyS3Lue07U= + + + LdbnCbsA9sOgI4mkUpWXPw== + + + TqfXw+FkhxfVgE9GVMgjWQ== + + + BAAAAAABHhw1vwc= + + + BAAAAAABBHYoIFs= + + + BAAAAAABHJRKMpA= + + + BAAAAAABJ/ufRdg= + + + EM8bDLBnnoYe4LnWpLIhS4esr3I= + + + OYBKgxEHpW/8XGAGAlvJyMA= + + + D9UltDPl4XVfSSqQOvdiwQ== + + + ESCC9oPNcRdPOox+SjWm9dTX + + + NvEJoRYL2yvAZrAjbDIipQ== + + + Eg== + + + ESD9YhzIEOwiOT7Nwip+E1KI + + + BAAAAAABHkSl6Co= + + + Jq6jgeApiT9O4W2Tx/NTRQ== + + + E5I2y6sIonl4a+TmlXc7fw== + + + XLhHIg7vP+tWfRqvuKeAxw== + + + Ew1ee9Jq7Q/Dig3ACF4V6Q== + + + UMUwXwT1Z4juyQ/CNTf4mw== + + + UKKK5ol/rKBZchAAOnZjaA== + + + TurPPI6eivtNeGYdM0ZWXQ== + + + Aa8e+91erglSMgsk/mtVaA== + + + STMAeg== + + + VN2yeFexyXjPf34fHGmbhg== + + + M0VSOewW3WI= + + + FJl6tXgNpSk= + + + BAAAAAABK84yjs8= + + + BAAAAAABAJmPjfQ= + + + Aw1SPC56593ZCZ9vCNHKwQ== + + + AQAAAAI= + + + QZCrvQ== + + + Bydp0g== + + + BAAAAAABMxvC9bk= + + + SdegFrLaFTCsoMAW5ED+zA== + + + BAAAAAABHkSl6mw= + + + Cfk9lw== + + + BAAAAAABJQdAjik= + + + TrKEMhb2PKktH8lHg0AV5A== + + + CdWFNw== + + + ESCyHU+xOECnh9Rf2IvgR8zS + + + BAAAAAABL07hUBg= + + + F5BhE0zbgQ== + + + bAOrKSMsmA0MLJyAJ5BRsUM= + + + STMAjg== + + + CeFU2w== + + + fwAAAQAAAUrz/HmrAAAAAg== + + + BAAAAAABFqoAZoI= + + + BAAAAAABHkSl7L4= + + + EAdmaA== + + + CeagHQ== + + + Xbevr3ut3Z9m1GuXC9SonA== + + + Bydr0Q== + + + KjoVfZ3by6+pL8fssyfM6A== + + + GtXUVojhwOTkaQ4bTKblEQ== + + + ESBqoILo90ntDW7OTK43MS2F + + + UU3AP1SMxmyhBFq7MRFZmf0= + + + EA== + + + e/fIfg2Dj2tkYIWVu2r82Cc= + + + Os2rnHWYhryvdOXfgan06A== + + + d8AtKymQwkOPDBj+hjPzFg== + + + fMTRbGCp280pnyE/u53zbA== + + + GN2Hrh9Ltm4= + + + BAAAAAABF2Tb8Bc= + + + BAAAAAABCUVQ9No= + + + ESCLRVuhcUZaluIgIVlRJx+O + + + AJiWmg== + + + RurwlgVMxeP6Zepun0LGZA== + + + BYyEX2b5+K+myAIR7eXaRQ== + + + BAAAAAAA+X/GIyk= + + + R4af5A== + + + EQ== + + + ByeQ9g== + + + BAAAAAABHkSl5AQ= + + + IIxFSyNM6mWtCgTG0IL3Og== + + + Bg== + + + BAAAAAABJQcQRNU= + + + GN2Hrh9LtnI= + + + WD1AyQAAAAAAJQ== + + + COwoDFvz7GD8R2K7Lo0rYQ== + + + GdXz4L1b6FKNCMG9Jz2tjA== + + + TA6EVg== + + + CcL+EA== + + + dItWlz2V62Philqj9m6Pbg== + + + CgFBQgAAAUFcf/EVAAAAAg== + + + BAAAAAABIg08D3U= + + + BAAAAAABJZbEU4I= + + + BGU= + + + LnfcUaXG/pxV2CpXM5+YSg== + + + ATE3ew== + + + BAAAAAABFUtaxac= + + + Aw== + + + ESByNJZ5TPjg9iZyL6a/h5Zx + + + BUrYjru5px1ym4QUN33TOQ== + + + L79XLVO2ZmtAu7FAG8Wmzw== + + + Qh/QbQ== + + + ZgwfEqZnBsUNvNuZ77FbQA== + + + OnvXX72mvUI2Id/NMzegmg== + + + BHk= + + + DAk9hy8DhHSo+aQetvPB/fY= + + + ARQ= + + + GN2Hrh9Ltms= + + + ORFgmCj072NjcJnrxOMfQA== + + + OUvvVscW0/NltofkmV9qmg== + + + CqZgEvHAsnzkT//QV9KjXw== + + + BAAAAAABKUXDqxw= + + + RUT1Gehd1KKYPfqOlgspoQ== + + + BAAAAAABHkSl5ao= + + + J2La+q+JOURNWkX60OP2lQ== + + + AImQERVYPoeb + + + F5Bg/C8eXg== + + + UVKsEezpGWOVQ4W9esstng== + + + BAAAAAABA/A35EU= + + + acI1CFIgmwSFBoU5+ahDgg== + + + Ikdj3zYXXGsC/Afm9Tvx+g== + + + AQAAAAA= + + + NMpMcEnex3eXx4ohk9glcQ== + + + H08= + + + Qh/SnQ== + + + Xrr31RF0DoIzMKXS6XtD+g== + + + CqnbFQ== + + + Bydxog== + + + F6QlB/yX+A== + + + XhcFm2g619rt8Sro+a4rHA== + + + TA6BjA== + + + ESDYXNBhF+dePFjojs7u2vj1 + + + Gg== + + + Pgyeh2mqlVzqI9hFntRbUQ== + + + AUa47POQ1dN5 + + + Ajp+ + + + Qh/O5w== + + + Iw== + + + TAA2G+UIK6mqznQKBT77NA== + + + U+1Y1QpJc0FOR5JdCJ01gQ== + + + STMAFQ== + + + K1ftto7Xcb0YKwQ6uMvOIA== + + + Fw== + + + Ajp/ + + + Ermw0Q== + + + APdCebq8ZyZr/T0luxlicNw= + + + Ig== + + + Nbc68Q8EHza72P/hSWcddw== + + + Ermwtg== + + + MABJSw== + + + QDi5rw== + + + DA== + + + VBSf+IncsTB3RZS4KFCJPQ== + + + ANX8SnNRxCmsE/GCl5hw+8A= + + + BAAAAAABElatX7I= + + + Ew== + + + LizeWXFWP5pZPI/dLc+PVQ== + + + cJ+vg4742XhNgJW2ot9eIg== + + + L1fHogsVxmfMBka5q4uzaQ== + + + VUtahOwvvmJFwlvmGDZP5w== + + + WJ2qHzWUqTk= + + + QDi5sQ== + + + BAAAAAABRE7wRk4= + + + Aw== + + + Cj0= + + + AIChpbGNqu4XKp9J70syKEs= + + + J8mznxvTvOR5p4Br3a3sm5j5iM0= + + + Qh/SqA== + + + JD1wxDd8IgmiqX7MyPPg1g== + + + BydInw== + + + FQ== + + + AjqL + + + BAAAAAABIg08FMU= + + + LU4d0t7PAsZNgJGZcb+o/w== + + + Byeaqw== + + + B+U= + + + KuzHPJLdK5hNgJRo3R47Ag== + + + BA== + + + QDi5sA== + + + HxT1XSjIpzjMprp9Qu1gYQ== + + + BwImeaRkSZQLYwFREwKo3R1Jn+8= + + + JLiDzgpL7oFNgJN+jIjt7w== + + + ByfNeA== + + + AjqK + + + QAAnEQ== + + + CLc= + + + DA== + + + HA== + + + MABJTA== + + + OfJBIhFwAdQ= + + + IA== + + + Cw== + + + GpO48aJ8GngtwECqZhm/xA== + + + Bw== + + + eLumDUO40KwnecZLJxFM2A== + + + BydiAg== + + + Er0moq4zwH8ke2pYafIKdg== + + + SurdtfsuPcXXDpY2LkBpYO6BT7o= + + + RH7WhshwXRK6f0VfOfjXgQ== + + + ByembA== + + + ByfFnw== + + + frj5jTuqBnQ4fljPvVU3KA== + + + AJBQSPqrEvDE2Hz8xH39Low= + + + ZECgRdZEsns= + + + a9rf7/BmG9JkKvRuy7J5QA== + + + AjpW + + + ESBrHE7sFC7CQ8EM681xA3CY + + + RFlmmjulj6Ve7PfBi44nnw== + + + ESDDtMgFFiaUfKo7HD9qImM7 + + + AQw= + + + YR0zGQAAAAAAAw== + + + e9JTGBe45yw= + + + XJ8pGvGNM9RIcLUG9YQjLQ== + + + CMNfzETd7XxesS9FOUj9Mg== + + + Bye2Cg== + + + Hnms0W0OxHSYE2F0XE97sw== + + + AJiU+bpWh2Uc4xFRf8GM9yA= + + + fbsHfUkagQtznc3rtY1uDg== + + + CdYL9vSQCEKzBwjO10ud2w== + + + Byc85g== + + + Bydrxg== + + + e7wSpVxmgAS5/ioLi2iBIA== + + + AKrMYlJmUUin8FOM/0TJrmk= + + + ALxyZmb/WL/wAuUiPK5oK/g= + + + RnQ3dYovwvB0D5q2YGY= + + + RnQ3dg5KdDZs0nyFZk4= + + + Hwexgn/ZCJicZPcsIyI8zxQ= + + + Iqpyf/YoGgvHc8HiDAxAI8o= + + + BydSYg== + + + TA5iEg== + + + UdNjvA== + + + RVWTeb5EKqE7cy7MUD2oJ3M= + + + IHj3eiEK3K1Xrpu1uvtBuvE= + + + YUlF+VXF2FWFqCo472HfZlw= + + + QM1zZ4GZ4gfwpQtUYye3Ne0= + + + LAVIFm0MWZYH+Sv8Vf+IqkM= + + + UbQGvw== + + + Bydvrw== + + + ByfDtA== + + + Byemag== + + + ByemaQ== + + + OGPFrg== + + + APt5i5rs4dIIQPwZdk9/ISc= + + + A4w= + + + A4g= + + + cx0HrIEQg8JHWTP7DzOxSQ== + + + AZ0= + + + AMs= + + + DL8= + + + QAEy3RIAAAAAAAAMweH5dw== + + + R/j2qA== + + + RdHgEmEIjdyRFWDRRlk= + + + RvCM2iRdkCE82ZOO2dU= + + + Rea7UUYH3jl33BryPIo= + + + HQ== + + + Eg== + + + GA== + + + BydIoA== + + + BycpYA== + + + BycfpA== + + + Bycfmw== + + + ByeekA== + + + ByfJhw== + + + Byd/Ug== + + + Byd/UA== + + + Byd/Tg== + + + ByeBQg== + + + Byd/Tw== + + + Byd/UQ== + + + BAAAAAABL07hSVI= + + + BAAAAAABL07hRxA= + + + BAAAAAABL07hXdQ= + + + BAAAAAABL07hW2M= + + + f43O9TualR8= + + + ATE5Ig== + + + ATE6Xw== + + + ATE6YA== + + + azAcTWL+ijs= + + + LYTXWk7gMu8= + + + GN2Hrh9LtnE= + + + GN2Hrh9LtnQ= + + + GN2Hrh9Ltm0= + + + GN2Hrh9LtnY= + + + eohOGeS5ZHJeptyBvCu/mQ== + + + fqRDfSf8haCEh2nWE6O+bA== + + + QFLH3Zrq+I5WQ6TlWzfUxA== + + + OUOBG6TE0Lr+uYYGxeVbHg== + + + AI7cApIcPA3cfSpQMf40onQ= + + + AL691kTvkemG9UQNa6McQg8= + + + APiyCXmwAUq+95DYa3DmGw== + + + AIZ6Wq/4deFQzwC6NnFpUA== + + + aBXsv0oU3xqh2xkUPOi8 + + + PmDn14AwWY28IlJeBXkDvA== + + + G8sz+bm+vQjTpQNBh5CfMg== + + + VP3bQF/UdNfxq/UOypU1zQ== + + + A/kVDQpE7c9h+WxlWQFzSQ== + + + OOkLFZaa4CXGyJlLTIEjUQ== + + + GuJ0aGBYhChXAOljooJZ3A== + + + Cf0103tCm9oulH1QK0weTA== + + + dhjnNtYx6cojdAE55TgIBA== + + + RbG+tfPUe/vBRfTZF54i8g== + + + NpsJHyt3o1U47AAgw3UNXA== + + + GTPOETOFf5mIsbuzrojGfw== + + + OgxXyntHYBXnPAHDxY0OXg== + + + U3KGm6UTqJ/nsMyteiUa2g== + + + eViJ2GX26lp5HbF+XNp1kQ== + + + MWzraR3LLhU9m/qKEhvVLQ== + + + CgFBQQAAATjtdPY5AAAAAg== + + + ANUANvVYN7xqAISA9rvJPzQ= + + + B2VhZAPxCDH3s9Mkbu3HfQ== + + + JGKKnm00uOQ= + + + CgFBQQAAATjkOB1sAAAAAg== + + + Aj/CJN2QWZAF25GXPXADOA== + + + RmI44ARDVCUOgXNK9ACAbg== + + + HVRikKXRQ1ouhOpYcOna/A== + + + B8f7CHJUqV3VareLPE+2kA== + + + D/VlGqmz9Nai1ywCydT/RQ== + + + O2Qh+qhbBRuZA11yDhcLGQ== + + + E/YGRk12iZqZuMfsIiVaeg== + + + RMgdRGEBv0KzFCjgGFp0Hg== + + + SeEzbpTltqUtqW7UiuJ2 + + + Xmo3AIW2VHeeJoR0o09RGQ== + + + QOu0a5Z9rCkw6Nk7Rg1/AQ== + + + ANU= + + + ATk= + + + ByeLBg== + + + BUE= + + + AINVG9I4T2jgQgW4N9SNhw== + + + UWMOvf4tj/x5cQN2PXVSww== + + + BEeJFwO0nu759EPo9tKluw== + + + BydCwg== + + + AaoZYg== + + + WW8OCQ== + + + AeNmeF8oVpDp/4GPvA== + + + BAAAAAABQaHhOT4= + + + BAAAAAABQaHhNLo= + + + BAAAAAABQaHhPSY= + + + RqFXxGPuA18= + + + ARU= + + + AwBGo0Zmp6KRryAguuMvXATI + + + AxW0+uDsfyCSfhECdsGGpVD8 + + + Ax6Jm7ajV49tqHgf9nYnzRCI + + + AyYMguSo1my449OZq51C3s3Z + + + AyjNQ4dnGD3FD6WL5gYrYru7 + + + AzL4tLuklekJ8lSh6VnRMSrk + + + A0BOaf9UbJxzqBudSyes/cEM + + + A1V4dX0tTb1rdTZxdWcuZ7YR + + + A3TWA5Aylxw0x8bVvrmUSNJd + + + A3UNTBOHUkbq+k999nJeSJdF + + + A3WVy2V+2VFkWtMvA6HFwnhq + + + A3ZQibPGSZ8nPVbuccaCvUfa + + + A5oET6WBWx72ColKf0txoWyR + + + A7GX+szdK8/7Kf0xUuarfyIN + + + A7RCxMe1S9Hb7ENzRxl0mxGP + + + A7T0V6o47rgCKl3oUb7jF2Ph + + + A7uy+rmTav6tDH4dRrsnvXGH + + + A8LV4zckxcwdttbQSk0EPnoA + + + A8aDg1/IA4O8gjMPZHVqPI+w + + + A8wZnhfuY6VIV1SwGsTGNR7L + + + A9BRwOwbXRRhCe+kcmglgW3z + + + A+RCQYwhofmXM+/hxdyoUzkI + + + A+ly3y1rVP59k/MKfcE3DoEq + + + A/7DHCczBnP5qUVh0jF2pvwB + + + A/99bZCzSpexYL5y6dSryDn3 + + + BDV89QWZE9MJYlCpFQUv5Y2W + + + BHT6CK6B569m/dd5dEluBOEd + + + BJDHnthjoDRutxFRJPFnixbU + + + BKobzjrOxa/6kCR0ImKoqaQW + + + BKrxi2/1iFxHEFzyZvegxq5C + + + BLlQHJ611eOZuedFrFgVAfAs + + + BOIIipysxAz5xHIMmFRvYchY + + + BONHqLIx/ibQE08IQIyoGaXg + + + BOPwjyn5eqfeoxs7Z0y3vqNN + + + BOc11keA9WJ9R20XQY8hO7yi + + + BOncXh7IZp1SNydhtUdyh2O2 + + + BPVqx4UbKVAbJSFTKwrcFryU + + + AxPlMqxkByCn3XNuYMhYNMcp + + + DNHqTQd9QC+JnMy6AWyhkg== + + + cFbYT3bxd1sAAAAAUdNX8A== + + + AIQ8dLGqNIaxxMeg31W16Q== + + + AIQ8dLGqNIaxxMeg31W16Q== + + + ANsAyDuSSs7Z83LfMZ+TDw== + + + VIFPnH3Io2OmF0J5KK8gzA== + + + EkoaKijVTGVYI5c604iweg== + + + EYfoVrySx7V3OUqs4xKvgA== + + + SrQ125q7UcLfxVKepx+lRg== + + + OIJdAvYxHmLb6YaaMmwmjg== + + + KNhgX8XuJduYciIyatpOQg== + + + UN78HLEKf7W9vQYkzYpJnw== + + + XOZMbPKQuJEw8Ib5neDVpQ== + + + DoP7aSdEs/3y+o2Gj9zgWA== + + + ElBUYv/f+6+gnbAJ23qnAA== + + + d8ToN4Dfs5RqD2yfAp12yQ== + + + WU+jmMhGAumhewqVKrZBmg== + + + Q1r0dRkkG9miuHj/Y52izw== + + + CGo/+42e75JBJ2JcOEaMFw== + + + X4C5SJIG0BDeJvpQq4ngCw== + + + UfM8pWkcmmLGRiGIVydmoA== + + + KvQ5AzK6tQy8eBy7NAD/lQ== + + + XbPH0u4MjoIrWzN8QCilfg== + + + dUIqmrcgq/261bRbo7fM1g== + + + RkNUwM80Jt7beb4ek+iI8w== + + + ODTGURr0vY14WkIt15hHrg== + + + c0ENPRDbRozjU83garZrdA== + + + UT6GtTGbEC6SXJteWAKy2g== + + + FK+rVRFA0o0PnW+X6V60gQ== + + + CuUEKEJM4xhxlFXraPcSpQ== + + + VNb2Hjai/t7dmCtOzRXXew== + + + OeKv0wi+ATDxfQ6CWir1vA== + + + AOVojQRgyPca + + + APB/jQRgyPca + + + AOVojQRgyPcY + + + APB/jQRgyP8Q + + + AklaZYwhC9k= + + + DA== + + + RXJFI0h6EJY= + + + Ah69dEvrzT4= + + + N4XreFRrqFQ= + + + GN2Hrh9Ltm8= + + + GN2Hrh9Ltmw= + + + D4dSwi4udjGtMftKLTSFyg== + + + JLLEdDl2iHqqyenVWwQ/XA== + + + dSBsq/te0hzZauKHgJ3EWg== + + + TsaDDThhoyhX10SURO3NMg== + + + IARKrBjlKQLyVGA4X52L7w== + + + KRfQOuBdOSpEmAxSpDZGZg== + + + YwslVqGwc9CHkaZkXNZ4xw== + + + QjiuX0y1agXQQqmDB2yh3w== + + + C2tQZWb2eoQD2XC3F5JSzg== + + + a9HDb1beqQYmkvFH0qExcg== + + + KUZMXOUj2sdY2i2Rfgp/5Q== + + + P4sUnc++hlU/bXj0zSTlcQ== + + + bf8hEJywo1lAp4UNcLl5Ew== + + + Gz4uHrL2usrTZrPCHeuF5g== + + + fZ10MyCe51jAjZCsDgqaxA== + + + UKM/CNF2OvC4giYnAUG/Ag== + + + X3iUdzxCEtOAKpiTLsqjBA== + + + GskXrIFkzLS+4yohQM9EUA== + + + LJ8wKbrQXgT8VExZ6vEfWA== + + + BWuckD4dPHZYW5ThBsl+aQ== + + + LzVYePklc3vH3jkk0BZr9g== + + + WfPUsnnSF04ShWVYEa/KRA== + + + fa9agGguMHfBorMTXXMd9g== + + + HGD2RtvXMaPDqHIPLdXocw== + + + JjjcXrfGjTCi1ug/AEeYlg== + + + TbPyD9NnsEcxyK6LIsr78g== + + + EgtJ1f+/tZwlGfg0Uu7XCQ== + + + PbXdgANzAyCOCZ5qa/7E6A== + + + QspbHxzWb41SX9TUhF1N1A== + + + a2GKnRbYMZ0oZkRzJE8NIw== + + + em/HTY01Cvv6ITgkH+ftlg== + + + WgAFElcDxFjoswSzjAABAAUSVw== + + + WgAFElbyxxPA8BdM4gABAAUSVg== + + + AOfHzdPzlvw5 + + + Eg== + + + ByfNbw== + + + BFA= + + + bqapwACCtKhVagTl7cEP7KFbM0E= + + + HwAABsvzDP+DIzUG6QAAAAAGyw== + + + UDE/uwr4z5V8eZI4+1gkAw== + + + TasC8Zd8BT8kXEE67cFQmA== + + + NlLRZJFLco/An3cLAGjGgQ== + + + AJk3QFH13eHUHHVnsvwS0Vo= + + + Cn+uUpLudsH09lYYIPTK5A== + + + Bye9zw== + + + ByeWyA== + + + Bye9zg== + + + VEav0UR+l38TpKTRi7sS1g== + + + PgImeGqCkapG6P426Ne85w== + + + X22XOlwfc1Taw/ORwGOIeg== + + + Nn6RHaVImMEtHLbPqlyGEA== + + + Bye/xA== + + + PWwhjEHh0n5G6P8b+bAkcg== + + + MZNwCx0BAjzTOgcvHsmdhQ== + + + Byecpw== + + + ATE33w== + + + ATEzEQ== + + + Qh/SsQ== + + + PybG62jqpxKYOV5MlXAGPJYDy9M= + + + WDFms0iypljMkohTzBvf4GmTOu0= + + + IsWDgJMv7uY= + + + dqN9ZZM/PfFCXStajJdbtQ== + + + Ag== + + + BQ== + + + AKbcLtOIMMwDPSOrzrclZL8= + + + ANjIV8rkvmb5E3Wf3aPV2ys= + + + APy7Z8kyJRVBcM/oki5xZ2M= + + + BlOMLY2hk1OPGflbt/pPXQ== + + + MpG5djdbcIoI5TIkJ7vENA== + + + UJ3tpbZLsyrhh60M9CMQaQ== + + + dgkExobSurPQq8GYrxxluA== + + + A09gcxt2IBLNzwqUBAhkDg== + + + TpyAwu1JmlIKD9gyf+0d4w== + + + ZpLTr9toPH+XRF7OITitfw== + + + And3HzRA33dI3K772oqBCw== + + + T3UrJ2tKvT0lyumu37ic6g== + + + PxYWUib8jdriX5MSGW7Ozw== + + + H/Vx9uatDIulnLLrZjXEKg== + + + ej2u88yEVXEb8BP1K49U6Q== + + + BtDaTXIs6tBSClhSLPXdYg== + + + cepjeevcJiJnbGEvdJE1jg== + + + Qk03giZwJwxf5QpixTKflQ== + + + dn2My7LvPi25AtUw3aPEmQ== + + + c5EZjjNc7LMOapbOzjEtJA== + + + dtULH8kD2mThpR/g1YJEtw== + + + G0UY3ZCa+JfTgAVgvFA8qg== + + + ajUDfjuO76YmIt3+fyTLXg== + + + TrUuR7x7VeU7Qvlwt8Sumw== + + + Hl7MT7aU4GbuanaMzc5eAg== + + + R4b2Vg== + + + R4af5Q== + + + WV2iHxGL6Vg= + + + bYuYcMtVvjo= + + + UzAV4JqeuGY= + + + KA== + + + IL094GkEPSU+HAucglL0Ig== + + + L5tOVjVGKtFP6V84tGEFPg== + + + JSPC8hAKsUBP6Y3n9JMx8w== + + + On0bAstcoxZP6WERe150Gw== + + + IqW4gO46S81PjTpHBA7mUQ== + + + dfE2CNAy9IxP6VwZ2IU2cA== + + + W99Z2UuV5pFP6V8AYIwcVQ== + + + P0qUU7RhznNP6V9iGYbSbA== + + + cEBA0P3KPBk/ojwnYepwzg== + + + BqVfPLKBlSg/4Enn+TGdbA== + + + Y3QACu2RGYVJ6FAnJWZpHA== + + + b+8vFPRPzN8+HCEWmIwVNg== + + + PZfTkwQ5Yio+HE2mvtFzDg== + + + c+6uFePfrahUGpXs8lhiTw== + + + VBy0L8eIKnVUGpY97OXrkw== + + + JY5zdgD/mG9A4oB/uzdSwQ== + + + F6sWArGVJv7AwBSxbnnqaw== + + + W4sqXNfJgPC3aLKkcOxq9Q== + + + I1kCCASG38Q8TKOJaqQtvQ== + + + VhmAg9gQ0IaL5+lKzrKYPQ== + + + MfSUS8xHwG64IFRIU5IHpw== + + + I+zjm9Bi1ZVKLF0R96thFQ== + + + cIHLIBl0M9N90NNjZwhwSA== + + + XaqJA1pYkpSOSst7Hmcxew== + + + HkN+3VDzRBFAw/QQ6XZ2gA== + + + VedYmG4aoUcioKT467SDcg== + + + U51Qij2xILJB29u2m4ePyw== + + + bcIU/gztAKdw8elgpRh2vA== + + + Bxt4PMyN1f5tIXW8W62DhA== + + + CpSHXk6RnrLSRVVJhVZEWA== + + + Baw9WIPUcpFvYe8bilTVVQ== + + + PpIe9Q1JUVu5nN/+4HWAoA== + + + Q0dKwXPiEec83XZPgsQh+g== + + + L3UnLdK9iz8XVM1rbm3tTw== + + + CAEyq5GePgxvZbmFx5WW6A== + + + JFcRHv1L89Vu8gagzuR3Pg== + + + fLpClvRi4IMKsokzVKT9Yg== + + + GARMIB0Iaz3xxucE70O9Qg== + + + CMUHBBak0idMAAAAAAAAAAE= + + + B6AKfwrKX6H1AAAAAAAAAAE= + + + R8MQVHZjYD/8LqGrob8= + + + Ro51e1DpnjbH3LKdghY= + + + AeUotGv9K4mpvLzWxw== + + + a5DOAqSUlLm2s6kL0x8gkQ== + + + ATE7Ow== + + + VOQX5SLKeMGyQdoF0X9h38gYrks= + + + Z6RtH7xmDM0r66IKSlpCZNrlRfY= + + + bdheRp0SfvS84GGiPaBnyFhE8EY= + + + JJfQeI7SQbQcPQ8Wc4+X2nlpWho= + + + KZlCQ0XnAo+GY3mKKJoNoNucjT0= + + + amYSY2usyXU= + + + EOqAPvgqxt8= + + + eRdKqRQXNv4Vp8qfLP9FiA== + + + Mi/Y+W40ChdUGpag8vaUjQ== + + + BycpXw== + + + Byekag== + + + BycpXg== + + + Byekaw== + + + Byeekg== + + + ByfJkQ== + + + SFuFrFB7MZnZ6tsqwS47tw== + + + aKsZrWDpsFlVL0xkShb22A== + + + deh5gFVej9+uQBqlb1fIig== + + + OBGSpfa3Oz6a7zeF/OywMg== + + + CHF76YGUdPMMCJ4njfsnwQ== + + + JekvfVn3h2+OX/V8Ef6vpg== + + + QHdGjRdEcAz+FjRyuIJmog== + + + ByfJkw== + + + BAAAAAABSOXEgNk= + + + Byc3Cg== + + + BAAAAAABKkKSw14= + + + BAAAAAABI75RcWk= + + + BAAAAAABECVWTJM= + + + RWHsRyzP3KFyjhTLPO4FPA== + + + W9KDjZvaDeWwN4jQG9TO3w== + + + TpTE/3d2UBJYfYHw2LSoww== + + + DmbpIZh1fhYcSThCcjaohA== + + + X407nWyYC7u8lCrBrW2cRA== + + + M9pDPXYgyiimYdML5Wg4zQ== + + + eNYPiDzOMtQ= + + + XJI7ULS6xv8= + + + SMwb3p7dSlA= + + + Q704nTrqxVY= + + + ATEz9w== + + + ARE= + + + ARA= + + + AQ8= + + + AahE5mpsDY4= + + + YfJj9o3IPBI= + + + ThcGy6zgwpM= + + + HvAB3BwhY8g= + + + ByekcA== + + + Byc3DA== + + + A7XRsyidfS8L2dlFuTsfGA== + + + C95Fob0ttu7S7dIXnjqiBA== + + + MyEj11s2KJH0vdnfUfuNIw== + + + HxapAqDOXuN5BHzREkFFtg== + + + SrterKaDHA8hZ+z9gwFXnw== + + + YfdCZWyRV1sSx5XxyoXKSQ== + + + H3xY9eXX+IpIl9ixQf3lzQ== + + + e9fp8poJ4jDqpHxVc+7SoA== + + + Jje4sy72uF/upHdwh0gBGg== + + + SoA0BJz+EzihvsNlkwlJTg== + + + I5cyb4y1eoVQS44pO3PAww== + + + USISWFWRHGp530VQc2S1/Q== + + + IW5rxECQ5LEyRGPeZE91ug== + + + BILpOL1LYav6JuQxlNetFA== + + + ByekbA== + + + ByekbQ== + + + aqcSP+AsWAmN9xWwAseOqg== + + + LiJxautXUrJeoN4q4RX/Rg== + + + cDosFiyvqdvDoYinOV6PDg== + + + FdJweu3BTeU/YzTvayJksQ== + + + PtgfuDU/40rxF87UP4HpIw== + + + BnG7G8DueagyBXomN87dYA== + + + JMRsU4iZEfeLdmXeFIjy4w== + + + U4S9ZGx1FCY3wppgMwTn0Q== + + + Beo= + + + TA7JGA== + + + RWua3A== + + + TA7JMQ== + + + SUUmDL8PIBZ0EkIfCV6N + + + AISaJcSkfQq9 + + + A3XEm35jzkM3B/8ZhDel7w== + + + ANdqi8UFCQChm0RchyjMpjY= + + + AMN6iHtOgy68QBu3kXiaFc8= + + + L41amoCH4B2agSUpD8Wd2A== + + + CR8HWlsGr6Sdlw/mzOv8gA== + + + W2qOjVqGcY8= + + + W2qOjVqGcY8= + + + W2qOjVqGcY8= + + + ByeO7g== + + + ByfJkA== + + + ByeO7w== + + + ByfJkg== + + + ByfTSw== + + + ByfTSg== + + + Qks10R3Zqs4AAAAAUdNX8Q== + + + IrmxST2Fhyj5 + + + IrmxST2Fhyj5 + + + IrmxSxsaAPaT + + + IrmxTNGDGgYt + + + IrmxSjphH9DY + + + IrmxSDcTuZO2 + + + diff --git a/comm/suite/app/icons/moz.build b/comm/suite/app/icons/moz.build new file mode 100644 index 0000000000..652537f71d --- /dev/null +++ b/comm/suite/app/icons/moz.build @@ -0,0 +1,21 @@ +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": + icon_suffix = ".ico" + icon_dir = CONFIG["MOZ_WIDGET_TOOLKIT"] + + # Windows icons + desktop_icons = [ + "calendar-alarm-dialog", + "calendar-event-dialog", + "calendar-event-summary-dialog", + "calendar-task-dialog", + "calendar-task-summary-dialog", + ] + + FINAL_TARGET_FILES.chrome.icons.default += [ + "%s/%s%s" % (icon_dir, i, icon_suffix) for i in sorted(desktop_icons) + ] diff --git a/comm/suite/app/icons/windows/calendar-alarm-dialog.ico b/comm/suite/app/icons/windows/calendar-alarm-dialog.ico new file mode 100644 index 0000000000..198cd4d7b6 Binary files /dev/null and b/comm/suite/app/icons/windows/calendar-alarm-dialog.ico differ diff --git a/comm/suite/app/icons/windows/calendar-event-dialog.ico b/comm/suite/app/icons/windows/calendar-event-dialog.ico new file mode 100644 index 0000000000..b2a9a5909c Binary files /dev/null and b/comm/suite/app/icons/windows/calendar-event-dialog.ico differ diff --git a/comm/suite/app/icons/windows/calendar-event-summary-dialog.ico b/comm/suite/app/icons/windows/calendar-event-summary-dialog.ico new file mode 100644 index 0000000000..883036a268 Binary files /dev/null and b/comm/suite/app/icons/windows/calendar-event-summary-dialog.ico differ diff --git a/comm/suite/app/icons/windows/calendar-task-dialog.ico b/comm/suite/app/icons/windows/calendar-task-dialog.ico new file mode 100644 index 0000000000..a80ae3d2e0 Binary files /dev/null and b/comm/suite/app/icons/windows/calendar-task-dialog.ico differ diff --git a/comm/suite/app/icons/windows/calendar-task-summary-dialog.ico b/comm/suite/app/icons/windows/calendar-task-summary-dialog.ico new file mode 100644 index 0000000000..3a26809c6c Binary files /dev/null and b/comm/suite/app/icons/windows/calendar-task-summary-dialog.ico differ diff --git a/comm/suite/app/macbuild/Contents/Info.plist.in b/comm/suite/app/macbuild/Contents/Info.plist.in new file mode 100644 index 0000000000..6dfb9177d9 --- /dev/null +++ b/comm/suite/app/macbuild/Contents/Info.plist.in @@ -0,0 +1,275 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleExecutable + @MOZ_APP_NAME@ + CFBundleIdentifier + @MOZ_MACBUNDLE_ID@ + CFBundleVersion + @MOZ_APP_VERSION@ + CFBundleDevelopmentRegion + English + CFBundleName + @MOZ_APP_DISPLAYNAME@ + CFBundlePackageType + APPL + CFBundleSignature + MOZZ + CFBundleIconFile + seamonkey.icns + CFBundleShortVersionString + @MOZ_APP_VERSION@ + CFBundleGetInfoString + @MAC_APP_NAME@ @MOZ_APP_VERSION@ + NSAppleScriptEnabled + + LSApplicationCategoryType + public.app-category.productivity + LSEnvironment + + MallocNanoZone + 0 + SYSTEM_VERSION_COMPAT + 0 + + LSMinimumSystemVersion + 10.12.0 + NSSupportsAutomaticGraphicsSwitching + + NSRequiresAquaSystemAppearance + + CFBundleDocumentTypes + + + CFBundleTypeName + Text Document + CFBundleTypeRole + Viewer + CFBundleTypeOSTypes + + TEXT + utxt + + CFBundleTypeExtensions + + text + txt + css + xul + js + rdf + log + + CFBundleTypeIconFile + document.icns + + + CFBundleTypeName + HTML Document + CFBundleTypeRole + Viewer + CFBundleTypeOSTypes + + HTML + + CFBundleTypeExtensions + + html + htm + shtml + xml + xht + xhtml + + CFBundleTypeIconFile + document.icns + + + CFBundleTypeName + JSON File + CFBundleTypeRole + Viewer + CFBundleTypeOSTypes + + TEXT + + CFBundleTypeExtensions + + json + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + application/json + + + + CFBundleTypeName + @MOZ_APP_DISPLAYNAME@ E-mail + CFBundleTypeRole + Viewer + CFBundleTypeOSTypes + + TEXT + utxt + + CFBundleTypeExtensions + + eml + + CFBundleTypeIconFile + document.icns + + + CFBundleTypeName + Image Document + CFBundleTypeRole + Viewer + CFBundleTypeOSTypes + + GIFf + JPEG + PNGf + + CFBundleTypeExtensions + + jpeg + jpg + jpe + png + gif + bmp + ico + jfif + jng + ppm + ppm6 + + CFBundleTypeIconFile + document.icns + + + CFBundleTypeName + SVG document + CFBundleTypeRole + Viewer + CFBundleTypeOSTypes + + TEXT + + CFBundleTypeExtensions + + svg + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + image/svg+xml + + NSDocumentClass + BrowserDocument + + + CFBundleTypeName + HTML5 Audio (Ogg) + CFBundleTypeRole + Viewer + CFBundleTypeExtensions + + oga + ogg + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + audio/ogg + + + + CFBundleTypeName + HTML5 Video (Ogg) + CFBundleTypeRole + Viewer + CFBundleTypeExtensions + + ogv + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + video/ogg + + + + CFBundleTypeName + HTML5 Video (WebM) + CFBundleTypeRole + Viewer + CFBundleTypeExtensions + + webm + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + video/webm + + + + CFBundleURLTypes + + + CFBundleURLIconFile + document.icns + CFBundleURLName + http URL + CFBundleURLSchemes + + http + + + + CFBundleURLIconFile + document.icns + CFBundleURLName + https URL + CFBundleURLSchemes + + https + + + + CFBundleURLName + ftp URL + CFBundleURLSchemes + + ftp + + + + CFBundleURLName + file URL + CFBundleURLSchemes + + file + + + + NSPrincipalClass + GeckoNSApplication + MozillaDeveloperRepoPath + @MOZ_DEVELOPER_REPO_PATH@ + MozillaDeveloperObjPath + @MOZ_DEVELOPER_OBJ_PATH@ + NSContactsUsageDescription + Use your macOS contacts in @MAC_APP_NAME@. + + diff --git a/comm/suite/app/macbuild/Contents/MacOS-files-copy.in b/comm/suite/app/macbuild/Contents/MacOS-files-copy.in new file mode 100644 index 0000000000..e9d0f0efb9 --- /dev/null +++ b/comm/suite/app/macbuild/Contents/MacOS-files-copy.in @@ -0,0 +1,11 @@ +# Specifies files that should be copied (via deep copy, resolving symlinks) +# from dist/bin to the .app/Contents/MacOS directory. Linking is preferred to +# reduce disk I/O during builds, so just include dylibs which need to be in the +# same directory as returned by dladddr(3). +# +# Some of these dylibs load other dylibs which are assumed to be siblings in +# the same directory obtained from dladdr(3). With macOS 10.15, dladdr returns +# absolute resolved paths which breaks this assumption if symlinks are used +# because the symlink targets are in different directories. Hence the need for +# them to be copied to the same directory. +/*.dylib diff --git a/comm/suite/app/macbuild/Contents/MacOS-files.in b/comm/suite/app/macbuild/Contents/MacOS-files.in new file mode 100644 index 0000000000..127e6f10aa --- /dev/null +++ b/comm/suite/app/macbuild/Contents/MacOS-files.in @@ -0,0 +1,8 @@ +/*.app/*** +/certutil +/seamonkey-bin +/pingsender +/pk12util +/ssltunnel +/xpcshell +/XUL diff --git a/comm/suite/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in b/comm/suite/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in new file mode 100644 index 0000000000..b6c99af3e0 --- /dev/null +++ b/comm/suite/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in @@ -0,0 +1,7 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* Localized versions of Info.plist keys */ + +CFBundleName = "@MAC_APP_NAME@"; diff --git a/comm/suite/app/module.ver b/comm/suite/app/module.ver new file mode 100644 index 0000000000..b6eb11cda3 --- /dev/null +++ b/comm/suite/app/module.ver @@ -0,0 +1,8 @@ +WIN32_MODULE_COMPANYNAME=mozilla.org +WIN32_MODULE_COPYRIGHT=©Mozilla Developers, according to the MPL 1.1/GPL 2.0/LGPL 2.1 licenses, as applicable. +WIN32_MODULE_PRODUCTVERSION=@MOZ_APP_WINVERSION@ +WIN32_MODULE_PRODUCTVERSION_STRING=@MOZ_APP_VERSION@ +WIN32_MODULE_TRADEMARKS=SeaMonkey and Mozilla are trademarks of The Mozilla Foundation. +WIN32_MODULE_DESCRIPTION=@MOZ_APP_DISPLAYNAME@ +WIN32_MODULE_PRODUCTNAME=@MOZ_APP_DISPLAYNAME@ +WIN32_MODULE_NAME=@MOZ_APP_DISPLAYNAME@ diff --git a/comm/suite/app/moz.build b/comm/suite/app/moz.build new file mode 100644 index 0000000000..be99a23b09 --- /dev/null +++ b/comm/suite/app/moz.build @@ -0,0 +1,129 @@ +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +DIRS += [ + "icons", +] + +GeckoProgram(CONFIG["MOZ_APP_NAME"]) + +SOURCES += ["nsSuiteApp.cpp"] + +LOCAL_INCLUDES += [ + "!/build", + "/ipc/contentproc/", + "/toolkit/xre", + "/xpcom/base", + "/xpcom/build", +] + +if CONFIG["OS_ARCH"] == "WINNT": + RCINCLUDE = "splash.rc" + DEFINES["MOZ_SUITE"] = True + +if CONFIG["LIBFUZZER"]: + USE_LIBS += ["fuzzer"] + LOCAL_INCLUDES += [ + "/tools/fuzzing/libfuzzer", + ] + +if CONFIG["CC_TYPE"] in ("msvc", "clang-cl"): + # Always enter a Windows program through wmain, whether or not we're + # a console application. + WIN32_EXE_LDFLAGS += ["-ENTRY:wmainCRTStartup"] + +if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "Darwin": + USE_LIBS += [ + "mozsandbox", + ] + OS_LIBS += [ + "-framework CoreFoundation", + ] + +if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT": + # For sandbox includes and the include dependencies those have + LOCAL_INCLUDES += [ + "/security/sandbox/chromium", + "/security/sandbox/chromium-shim", + ] + + OS_LIBS += [ + "version", + ] + + USE_LIBS += [ + "sandbox_s", + ] + + OS_LIBS += [ + "advapi32", + "winmm", + "user32", + ] + + DELAYLOAD_DLLS += [ + "winmm.dll", + "user32.dll", + ] + +if CONFIG["OS_ARCH"] == "WINNT": + OS_LIBS += [ + "ntdll", + ] + + if CONFIG["CC_TYPE"] == "msvc": + CFLAGS += ["-guard:cf"] + CXXFLAGS += ["-guard:cf"] + LDFLAGS += ["-guard:cf"] + +# Control the default heap size. +# This is the heap returned by GetProcessHeap(). +# As we use the CRT heap, the default size is too large and wastes VM. +# +# The default heap size is 1MB on Win32. +# The heap will grow if need be. +# +# Set it to 256k. See bug 127069. +if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CC_TYPE"] not in ("clang", "gcc"): + LDFLAGS += ["/HEAP:0x40000"] + +DisableStlWrapping() + +if CONFIG["MOZ_LINKER"]: + OS_LIBS += CONFIG["MOZ_ZLIB_LIBS"] + +if CONFIG["HAVE_CLOCK_MONOTONIC"]: + OS_LIBS += CONFIG["REALTIME_LIBS"] + +if CONFIG["MOZ_LINUX_32_SSE2_STARTUP_ERROR"]: + DEFINES["MOZ_LINUX_32_SSE2_STARTUP_ERROR"] = True + COMPILE_FLAGS["OS_CXXFLAGS"] = [ + f + for f in COMPILE_FLAGS.get("OS_CXXFLAGS", []) + if not f.startswith("-march=") and f not in ("-msse", "-msse2", "-mfpmath=sse") + ] + [ + "-mno-sse", + "-mno-sse2", + "-mfpmath=387", + ] + +# For splash.rc +DEFINES["SEAMONKEY_ICO"] = '"%s/%s/icons/windows/main-window.ico"' % ( + TOPSRCDIR, + CONFIG["MOZ_BRANDING_DIRECTORY"], +) +DEFINES["HTML_FILE_ICO"] = '"%s/%s/icons/windows/html-file.ico"' % ( + TOPSRCDIR, + CONFIG["MOZ_BRANDING_DIRECTORY"], +) + +DEFINES["APP_VERSION"] = CONFIG["MOZ_APP_VERSION"] + +JS_PREFERENCE_PP_FILES += [ + "profile/suite-prefs.js", +] + +FINAL_TARGET_FILES += ["blocklist.xml"] +FINAL_TARGET_FILES.defaults += ["permissions"] diff --git a/comm/suite/app/nsSuiteApp.cpp b/comm/suite/app/nsSuiteApp.cpp new file mode 100644 index 0000000000..7d0775cad5 --- /dev/null +++ b/comm/suite/app/nsSuiteApp.cpp @@ -0,0 +1,335 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsXULAppAPI.h" +#include "nsXPCOM.h" +#include "nsISupports.h" +#include "mozilla/Logging.h" +#include "mozilla/XREAppData.h" +#include "mozilla/ArrayUtils.h" +#include "mozilla/Assertions.h" +#include "mozilla/Vector.h" +#include "mozilla/TimeStamp.h" +#include "XREChildData.h" +#include "XREShellData.h" +#include "application.ini.h" +#include "mozilla/Bootstrap.h" +#if defined(XP_WIN) +#include +#include +#elif defined(XP_UNIX) +#include +#include +#endif + +#include +#include +#include + +#include "nsCOMPtr.h" +#include "nsIFile.h" + +#ifdef XP_WIN +#include "mozilla/WindowsDllBlocklist.h" +#define XRE_WANT_ENVIRON +#define strcasecmp _stricmp +#ifdef MOZ_SANDBOX +#include "mozilla/sandboxing/SandboxInitialization.h" +#endif +#endif +#include "BinaryPath.h" + +#include "nsXPCOMPrivate.h" // for MAXPATHLEN and XPCOM_DLL + +#include "mozilla/Sprintf.h" +#include "mozilla/StartupTimeline.h" + +#ifdef LIBFUZZER +#include "FuzzerDefs.h" +#endif + +#ifdef MOZ_LINUX_32_SSE2_STARTUP_ERROR +#include +#include "mozilla/Unused.h" + +static bool +IsSSE2Available() +{ + // The rest of the app has been compiled to assume that SSE2 is present + // unconditionally, so we can't use the normal copy of SSE.cpp here. + // Since SSE.cpp caches the results and we need them only transiently, + // instead of #including SSE.cpp here, let's just inline the specific check + // that's needed. + unsigned int level = 1u; + unsigned int eax, ebx, ecx, edx; + unsigned int bits = (1u<<26); + unsigned int max = __get_cpuid_max(0, nullptr); + if (level > max) { + return false; + } + __cpuid_count(level, 0, eax, ebx, ecx, edx); + return (edx & bits) == bits; +} + +static const char sSSE2Message[] = + "This SeaMonkey version requires a processor with the SSE2 instruction " + "set extension.\nYou may be able to obtain a version that does not " + "require SSE2 from your Linux distribution.\n"; + +__attribute__((constructor)) +static void +SSE2Check() +{ + if (IsSSE2Available()) { + return; + } + // Using write() in order to avoid jemalloc-based buffering. Ignoring return + // values, since there isn't much we could do on failure and there is no + // point in trying to recover from errors. + MOZ_UNUSED(write(STDERR_FILENO, + sSSE2Message, + MOZ_ARRAY_LENGTH(sSSE2Message) - 1)); + // _exit() instead of exit() to avoid running the usual "at exit" code. + _exit(255); +} +#endif + +#if !defined(MOZ_WIDGET_COCOA) && !defined(MOZ_WIDGET_ANDROID) +#define MOZ_BROWSER_CAN_BE_CONTENTPROC +#include "plugin-container.cpp" +#endif + +using namespace mozilla; + +#ifdef XP_MACOSX +#define kOSXResourcesFolder "Resources" +#endif +#define kDesktopFolder "" + +static MOZ_FORMAT_PRINTF(1, 2) void Output(const char *fmt, ... ) +{ + va_list ap; + va_start(ap, fmt); + +#ifndef XP_WIN + vfprintf(stderr, fmt, ap); +#else + char msg[2048]; + vsnprintf_s(msg, _countof(msg), _TRUNCATE, fmt, ap); + + wchar_t wide_msg[2048]; + MultiByteToWideChar(CP_UTF8, + 0, + msg, + -1, + wide_msg, + _countof(wide_msg)); +#if MOZ_WINCONSOLE + fwprintf_s(stderr, wide_msg); +#else + // Linking user32 at load-time interferes with the DLL blocklist (bug 932100). + // This is a rare codepath, so we can load user32 at run-time instead. + HMODULE user32 = LoadLibraryW(L"user32.dll"); + if (user32) { + decltype(MessageBoxW)* messageBoxW = + (decltype(MessageBoxW)*) GetProcAddress(user32, "MessageBoxW"); + if (messageBoxW) { + messageBoxW(nullptr, wide_msg, L"XULRunner", MB_OK + | MB_ICONERROR + | MB_SETFOREGROUND); + } + FreeLibrary(user32); + } +#endif +#endif + + va_end(ap); +} + +/** + * Return true if |arg| matches the given argument name. + */ +static bool IsArg(const char* arg, const char* s) +{ + if (*arg == '-') + { + if (*++arg == '-') + ++arg; + return !strcasecmp(arg, s); + } + +#if defined(XP_WIN) + if (*arg == '/') + return !strcasecmp(++arg, s); +#endif + + return false; +} + +Bootstrap::UniquePtr gBootstrap; + +static int do_main(int argc, char* argv[], char* envp[]) +{ + // Allow seamonkey.exe to launch XULRunner apps via -app + // Note that -app must be the *first* argument. + const char *appDataFile = getenv("XUL_APP_FILE"); + if ((!appDataFile || !*appDataFile) && + (argc > 1 && IsArg(argv[1], "app"))) { + if (argc == 2) { + Output("Incorrect number of arguments passed to -app"); + return 255; + } + appDataFile = argv[2]; + + char appEnv[MAXPATHLEN]; + SprintfLiteral(appEnv, "XUL_APP_FILE=%s", argv[2]); + // Bug 1271574 Purposefully leak the XUL_APP_FILE string passed to putenv. + if (putenv(strdup(appEnv))) { + Output("Couldn't set %s.\n", appEnv); + return 255; + } + argv[2] = argv[0]; + argv += 2; + argc -= 2; + } else if (argc > 1 && IsArg(argv[1], "xpcshell")) { + for (int i = 1; i < argc; i++) { + argv[i] = argv[i + 1]; + } + + XREShellData shellData; +#if defined(XP_WIN) && defined(MOZ_SANDBOX) + shellData.sandboxBrokerServices = + sandboxing::GetInitializedBrokerServices(); +#endif + + return gBootstrap->XRE_XPCShellMain(--argc, argv, envp, &shellData); + } + + BootstrapConfig config; + + if (appDataFile && *appDataFile) { + config.appData = nullptr; + config.appDataPath = appDataFile; + } else { + // no -app flag so we use the compiled-in app data + config.appData = &sAppData; + config.appDataPath = kDesktopFolder; + } + +#if defined(XP_WIN) && defined(MOZ_SANDBOX) + sandbox::BrokerServices* brokerServices = + sandboxing::GetInitializedBrokerServices(); +#if defined(MOZ_CONTENT_SANDBOX) + if (!brokerServices) { + Output("Couldn't initialize the broker services.\n"); + return 255; + } +#endif + config.sandboxBrokerServices = brokerServices; +#endif + +#ifdef LIBFUZZER + if (getenv("FUZZER")) + gBootstrap->XRE_LibFuzzerSetDriver(fuzzer::FuzzerDriver); +#endif + + return gBootstrap->XRE_main(argc, argv, config); +} + +static nsresult +InitXPCOMGlue(LibLoadingStrategy aLibLoadingStrategy) +{ + UniqueFreePtr exePath = BinaryPath::Get(); + if (!exePath) { + Output("Couldn't find the application directory.\n"); + return NS_ERROR_FAILURE; + } + + auto bootstrapResult = + mozilla::GetBootstrap(exePath.get(), aLibLoadingStrategy); + if (bootstrapResult.isErr()) { + Output("Couldn't load XPCOM.\n"); + return NS_ERROR_FAILURE; + } + + gBootstrap = bootstrapResult.unwrap(); + + // This will set this thread as the main thread. + gBootstrap->NS_LogInit(); + + return NS_OK; +} + +#ifdef HAS_DLL_BLOCKLIST +// NB: This must be extern, as this value is checked elsewhere +uint32_t gBlocklistInitFlags = eDllBlocklistInitFlagDefault; +#endif + +int main(int argc, char* argv[], char* envp[]) +{ + mozilla::TimeStamp start = mozilla::TimeStamp::Now(); + +#ifdef MOZ_BROWSER_CAN_BE_CONTENTPROC + // We are launching as a content process, delegate to the appropriate + // main + if (argc > 1 && IsArg(argv[1], "contentproc")) { +#ifdef HAS_DLL_BLOCKLIST + DllBlocklist_Initialize(eDllBlocklistInitFlagIsChildProcess); +#endif +#if defined(XP_WIN) && defined(MOZ_SANDBOX) + // We need to initialize the sandbox TargetServices before InitXPCOMGlue + // because we might need the sandbox broker to give access to some files. + if (IsSandboxedProcess() && !sandboxing::GetInitializedTargetServices()) { + Output("Failed to initialize the sandbox target services."); + return 255; + } +#endif + + nsresult rv = InitXPCOMGlue(LibLoadingStrategy::NoReadAhead); + if (NS_FAILED(rv)) { + return 255; + } + + int result = content_process_main(gBootstrap.get(), argc, argv); + + // InitXPCOMGlue calls NS_LogInit, so we need to balance it here. + gBootstrap->NS_LogTerm(); + + return result; + } +#endif + +#ifdef HAS_DLL_BLOCKLIST + DllBlocklist_Initialize(gBlocklistInitFlags); +#endif + + nsresult rv = InitXPCOMGlue(LibLoadingStrategy::ReadAhead); + if (NS_FAILED(rv)) { + return 255; + } + + gBootstrap->XRE_StartupTimelineRecord(mozilla::StartupTimeline::START, start); + +#ifdef MOZ_BROWSER_CAN_BE_CONTENTPROC + gBootstrap->XRE_EnableSameExecutableForContentProc(); +#endif + + int result = do_main(argc, argv, envp); + + gBootstrap->NS_LogTerm(); + +#ifdef XP_MACOSX + // Allow writes again. While we would like to catch writes from static + // destructors to allow early exits to use _exit, we know that there is + // at least one such write that we don't control (see bug 826029). For + // now we enable writes again and early exits will have to use exit instead + // of _exit. + gBootstrap->XRE_StopLateWriteChecks(); +#endif + + gBootstrap.reset(); + + return result; +} diff --git a/comm/suite/app/permissions b/comm/suite/app/permissions new file mode 100644 index 0000000000..038695a412 --- /dev/null +++ b/comm/suite/app/permissions @@ -0,0 +1,10 @@ +# This file has default permissions for the permission manager. +# The file-format is strict: +# * matchtype \t type \t permission \t host +# * Only "host" is supported for matchtype +# * type is a string that identifies the type of permission (e.g. "cookie") +# * permission is an integer between 1 and 15 +# See nsPermissionManager.cpp for more... + +# XPInstall +origin install 1 https://addons.thunderbird.net diff --git a/comm/suite/app/profile/channel-prefs.js b/comm/suite/app/profile/channel-prefs.js new file mode 100644 index 0000000000..633c489f3c --- /dev/null +++ b/comm/suite/app/profile/channel-prefs.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +pref("app.update.channel", "@MOZ_UPDATE_CHANNEL@"); diff --git a/comm/suite/app/profile/suite-prefs.js b/comm/suite/app/profile/suite-prefs.js new file mode 100644 index 0000000000..e59f3a382b --- /dev/null +++ b/comm/suite/app/profile/suite-prefs.js @@ -0,0 +1,1500 @@ +/* -*- Mode: javascript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* The prefs in this file are specific to the SeaMonkey browser. + * Generic default prefs are in (mozilla/)modules/libpref/src/init/all.js + */ + +/* filter substitution + * + * SYNTAX HINTS: + * + * - Dashes are delimiters; use underscores instead. + * - The first character after a period must be alphabetic. + * - Computed values (e.g. 50 * 1024) don't work. + */ + +pref("startup.homepage_override_url","chrome://navigator-region/locale/region.properties"); +pref("general.skins.selectedSkin", "classic/1.0"); + +pref("browser.chromeURL","chrome://navigator/content/navigator.xul"); +pref("browser.hiddenWindowChromeURL", "chrome://navigator/content/hiddenWindow.xul"); + +// prompt for Master Password on startup +pref("signon.startup.prompt", true); + +pref("general.startup.browser", true); +pref("general.startup.mail", false); +pref("general.startup.news", false); +pref("general.startup.editor", false); +pref("general.startup.compose", false); +pref("general.startup.addressbook", false); + +pref("general.open_location.last_url", ""); +pref("general.open_location.last_window_choice", 0); +pref("browser.urlbar.historyEnabled", true); + +pref("general.smoothScroll", false); +pref("general.autoScroll", true); + +pref("general.useragent.compatMode.firefox", true); +// See bug 1242294 for how to make this work. +pref("general.useragent.compatMode.strict-firefox", false); + +// 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session +pref("browser.startup.page", 1); +pref("browser.startup.homepage", "chrome://navigator-region/locale/region.properties"); +pref("browser.startup.homepage.count", 1); + +pref("browser.warnOnQuit", true); +pref("browser.warnOnRestart", true); + +// disable this until it can be disabled on a per-docshell basis (see bug 319368) +pref("browser.send_pings", false); + +pref("browser.chrome.site_icons", true); +pref("browser.chrome.favicons", true); + +// 0 = Pictures Only, 1 = Text Only, 2 = Pictures and Text +pref("browser.chrome.toolbar_style", 2); + +pref("browser.download.finished_download_sound", false); +pref("browser.download.finished_sound_url", ""); +pref("browser.download.useDownloadDir", false); +pref("browser.download.folderList", 1); + +pref("browser.download.manager.addToRecentDocs", true); +pref("browser.download.manager.resumeOnWakeDelay", 10000); +pref("browser.download.manager.flashCount", 2); +pref("browser.download.manager.focusWhenStarting", false); +pref("browser.download.progress.closeWhenDone", false); + +// Number of milliseconds to wait for the http headers (and thus +// the Content-Disposition filename) before giving up and falling back to +// picking a filename without that info in hand so that the user sees some +// feedback from their action. +pref("browser.download.saveLinkAsFilenameTimeout", 4000); + +// Output console.log/info/warn/error to the Error Console +pref("browser.dom.window.console.enabled", false); + +// Use the findbar instead of the dialog box +pref("browser.findbar.enabled", true); + +// Use doorhanger notifications instead of the notification bar +pref("browser.doorhanger.enabled", true); + +// search engines URL +pref("browser.search.searchEnginesURL", "https://addons.thunderbird.net/%LOCALE%/%APP%/search/?atype=4"); + +// Disable logging for the search service by default. +pref("browser.search.log", false); + +// Search (side)bar results always open in a new tab. +pref("browser.search.openintab", false); + +// Open context search results in either a new window or tab. +pref("browser.search.opentabforcontextsearch", true); + +// Send ping to the server to update. +pref("browser.search.update", true); + +// Disable logging for the search service update system by default. +pref("browser.search.update.log", false); + +// Check whether we need to perform engine updates every 6 hours +pref("browser.search.update.interval", 21600); + +// enable search suggestions by default +pref("browser.search.suggest.enabled", true); + +// Smart Browsing prefs +pref("keyword.enabled", true); +// Override the default keyword.URL. Empty value means +// "use the search service's default engine" +pref("keyword.URL", ""); + +pref("browser.urlbar.autocomplete.enabled", true); +pref("browser.urlbar.formatting.enabled", true); +pref("browser.urlbar.highlight.secure", true); +pref("browser.urlbar.clickSelectsAll", true); +// when clickSelectsAll=true, does it also apply when the click is past end of text? +pref("browser.urlbar.clickAtEndSelects", true); + +pref("browser.urlbar.autoFill", false); +pref("browser.urlbar.showPopup", true); +pref("browser.urlbar.showSearch", true); +// 0: Match anywhere (e.g., middle of words) +// 1: Match on word boundaries and then try matching anywhere +// 2: Match only on word boundaries (e.g., after / or .) +// 3: Match at the beginning of the url or title +pref("browser.urlbar.matchBehavior", 1); + +pref("browser.urlbar.suggest.history", true); +pref("browser.urlbar.suggest.bookmark", false); +// SeaMonkey doesn't support this. +pref("browser.urlbar.suggest.openpage", false); + +pref("browser.urlbar.suggest.history.onlyTyped", false); + +pref("browser.urlbar.filter.javascript", true); + +// Size of "chunks" affects the number of places to process between each search +// timeout (ms). Too big and the UI will be unresponsive; too small and we'll +// be waiting on the timeout too often without many results. +pref("browser.urlbar.search.chunkSize", 1000); +pref("browser.urlbar.search.timeout", 100); + +// The special characters below can be typed into the urlbar to either restrict +// the search to visited history, bookmarked, tagged pages; or force a match on +// just the title text or url. +pref("browser.urlbar.restrict.history", "^"); +pref("browser.urlbar.restrict.bookmark", "*"); +pref("browser.urlbar.restrict.tag", "+"); +pref("browser.urlbar.restrict.openpage", "%"); +pref("browser.urlbar.restrict.typed", "~"); +pref("browser.urlbar.match.title", "#"); +pref("browser.urlbar.match.url", "@"); + +pref("browser.history.last_page_visited", "about:blank"); +pref("browser.history.grouping", "day"); +pref("browser.sessionhistory.max_entries", 50); + +// Whether history is enabled or not. +pref("places.history.enabled", true); + +// the (maximum) number of the recent visits to sample +// when calculating frecency +pref("places.frecency.numVisits", 10); + +// buckets (in days) for frecency calculation +pref("places.frecency.firstBucketCutoff", 4); +pref("places.frecency.secondBucketCutoff", 14); +pref("places.frecency.thirdBucketCutoff", 31); +pref("places.frecency.fourthBucketCutoff", 90); + +// weights for buckets for frecency calculations +pref("places.frecency.firstBucketWeight", 100); +pref("places.frecency.secondBucketWeight", 70); +pref("places.frecency.thirdBucketWeight", 50); +pref("places.frecency.fourthBucketWeight", 30); +pref("places.frecency.defaultBucketWeight", 10); + +// bonus (in percent) for visit transition types for frecency calculations +pref("places.frecency.embedVisitBonus", 0); +pref("places.frecency.framedLinkVisitBonus", 0); +pref("places.frecency.linkVisitBonus", 100); +pref("places.frecency.typedVisitBonus", 2000); +pref("places.frecency.bookmarkVisitBonus", 75); +pref("places.frecency.downloadVisitBonus", 0); +pref("places.frecency.permRedirectVisitBonus", 0); +pref("places.frecency.tempRedirectVisitBonus", 0); +pref("places.frecency.defaultVisitBonus", 0); + +// bonus (in percent) for place types for frecency calculations +pref("places.frecency.unvisitedBookmarkBonus", 140); +pref("places.frecency.unvisitedTypedBonus", 200); + +// By default, do not export HTML at shutdown. +// If true, at shutdown the bookmarks in your menu and toolbar will +// be exported as HTML to the bookmarks.html file. +pref("browser.bookmarks.autoExportHTML", false); + +// The maximum number of daily bookmark backups to +// keep in {PROFILEDIR}/bookmarkbackups. Special values: +// -1: unlimited +// 0: no backups created (and deletes all existing backups) +pref("browser.bookmarks.max_backups", 10); + +// Don't try to alter this pref. It will be reset the next time you use the +// bookmarking dialog. +pref("browser.bookmarks.editDialog.firstEditField", "namePicker"); + +// Tabbed browser +pref("browser.tabs.loadDivertedInBackground", false); +pref("browser.tabs.loadInBackground", true); +pref("browser.tabs.opentabfor.middleclick", true); +pref("browser.tabs.opentabfor.urlbar", true); +pref("browser.tabs.tooltippreview.enable", true); +pref("browser.tabs.tooltippreview.width", 300); +pref("browser.tabs.autoHide", false); +pref("browser.tabs.forceHide", false); +pref("browser.tabs.closeWindowWithLastTab", true); +pref("browser.tabs.warnOnClose", true); +pref("browser.tabs.warnOnCloseOther", true); +pref("browser.tabs.warnOnOpen", true); +pref("browser.tabs.maxOpenBeforeWarn", 15); +pref("browser.tabs.insertRelatedAfterCurrent", true); +pref("browser.tabs.insertAllTabsAfterCurrent", false); +pref("browser.tabs.selectOwnerOnClose", true); +pref("browser.tabs.avoidBrowserFocus", false); + +// No e10s in SeaMonkey for now. +pref("browser.tabs.remote.autostart", false); + +// how many browsers can be saved in the DOM (by the tabbed browser) +pref("browser.tabs.max_tabs_undo", 3); +// should popups by saved in the DOM (by the tabbed browser) +pref("browser.tabs.cache_popups", false); + +// tab width and clipping +pref("browser.tabs.tabMinWidth", 100); +pref("browser.tabs.tabMaxWidth", 250); +pref("browser.tabs.tabClipWidth", 140); + +// Where to show tab close buttons: +// 0 on active tab only +// 1 on all tabs until tabClipWidth is reached, then active tab only +// 2 no close buttons at all +// 3 at the end of the tabstrip +pref("browser.tabs.closeButtons", 3); + +// Mouse wheel action when over the tab bar: +// false The mouse wheel scrolls the whole tab bar like Firefox (default). +// true The mouse wheel advances the selected tab. +pref("browser.tabs.mouseScrollAdvancesTab", false); + +// lets new tab/window load something different than first window +// -1 - use navigator startup preference +// 0 - loads blank page +// 1 - loads home page +// 2 - loads last page visited +pref("browser.tabs.loadOnNewTab", 0); +pref("browser.windows.loadOnNewWindow", 1); + +// external link handling in tabbed browsers. values from nsIBrowserDOMWindow. +// 0=default window, 1=current window/tab, 2=new window, 3=new tab in most recent window +pref("browser.link.open_external", 3); +// internal links handling in tabbed browsers. see .open_external for values. +pref("browser.link.open_newwindow", 3); + +// 0: no restrictions - divert everything +// 1: don't divert window.open at all +// 2: don't divert window.open with features +pref("browser.link.open_newwindow.restriction", 2); + +// Translation service +pref("browser.translation.service", "chrome://navigator-region/locale/region.properties"); +pref("browser.translation.serviceDomain", "chrome://navigator-region/locale/region.properties"); +pref("browser.validate.html.service", "chrome://navigator-region/locale/region.properties"); + +// 0 goes back +// 1 act like pgup +// 2 and other values, nothing +pref("browser.backspace_action", 0); + +// Controls behavior of the "Add Exception" dialog launched from SSL error pages: +// 0 - don't pre-populate anything. +// 1 - pre-populate site URL, but don't fetch certificate. +// 2 - pre-populate site URL and pre-fetch certificate. +pref("browser.ssl_override_behavior", 2); + +// if true, use full page zoom instead of text zoom +pref("browser.zoom.full", true); + +// Whether or not to save and restore zoom levels on a per-site basis. +pref("browser.zoom.siteSpecific", true); + +// Whether or not to update background tabs to the current zoom level +// once they come to the foreground (i.e. get activated). +pref("browser.zoom.updateBackgroundTabs", true); + +// Whether to show the zoom status and controls in status panel +pref("browser.zoom.showZoomStatusPanel", false); + +// Zoom levels for View > Zoom and Ctrl +/- keyboard shortcuts +pref("toolkit.zoomManager.zoomValues", "0.2,0.3,0.5,0.67,0.8,0.9,1,1.1,1.2,1.33,1.5,1.7,2,2.4,3,4,5,6,7,8"); + +pref("javascript.options.showInConsole", true); + +pref("suite.manager.addons.openAsDialog", false); +pref("suite.manager.dataman.openAsDialog", true); + +pref("offline.startup_state", 0); +pref("offline.send.unsent_messages", 0); +pref("offline.download.download_messages", 0); + +// allow offline web apps to store data but ask for permission by default +pref("offline-apps.allow_by_default", false); +pref("browser.offline-apps.notify", true); + +pref("browser.formfill.expire_days", 180); + +// Handle mail/news URLs internally by default... +pref("network.protocol-handler.external.mailto", false); // for mail +pref("network.protocol-handler.external.news", false); // for news +pref("network.protocol-handler.external.snews", false); // for secure news +pref("network.protocol-handler.external.nntp", false); // also news + +// ...but still show the dialog at least the first time if switched to external +pref("network.protocol-handler.warn-external.mailto", true); +pref("network.protocol-handler.warn-external.news", true); +pref("network.protocol-handler.warn-external.snews", true); +pref("network.protocol-handler.warn-external.nntp", true); + +// bug 1005566 - Disable seer until properly supported +// bug 1021370 - Rename Seer to Predictor +pref("network.predictor.enabled", false); + +// To allow images to be inserted into a composition with an auth prompt, we +// need the following two. +pref("network.auth.subresource-img-cross-origin-http-auth-allow", true); +// This pref is also needed for showing the caldav auth prompt. +pref("network.auth.non-web-content-triggered-resources-http-auth-allow", true); + +pref("mail.biff.show_new_alert", true); + +// If the mail tab bar is automatically hidden when there is only one tab. +pref("mail.tabs.autoHide", false); + +// If messages or folders are opened using the context menu or a middle click, +// should we open them in the foreground or in the background? +pref("mail.tabs.loadInBackground", true); + +// If messages are opened in a tab or a window on a double-click. +pref("mail.tabs.opentabfor.doubleclick", false); + +// If messages or folders are opened in a tab or a window on a middle-click (or +// equivalent). +pref("mail.tabs.opentabfor.middleclick", true); + +// Force the unit shown for the size of all folders. +// If empty, the unit is determined automatically for each folder. +// Allowed values: KB/MB/ +pref("mail.folderpane.sizeUnits", ""); +// Summarize messages count and size of subfolders into a collapsed parent? +// Allowed values: true/false +pref("mail.folderpane.sumSubfolders", true); + +pref("mailnews.reuse_thread_window2", true); + +pref("mailnews.ui.deleteMarksRead", true); +pref("mailnews.ui.deleteAlwaysSelectedMessages", false); + +// The maximum amount of decoded image data we'll willingly keep around (we +// might keep around more than this, but we'll try to get down to this value). +// (This is intentionally on the high side; see bugs 746055 and 768015.) +pref("image.mem.max_decoded_image_kb", 256000); + +pref("spellchecker.dictionary", ""); +pref("spellchecker.dictionaries.download.url", "https://addons.thunderbird.net/%LOCALE%/%APP%/dictionaries"); + +// this will automatically enable inline spellchecking (if it is available) for +// editable elements in HTML +// 0 = spellcheck nothing +// 1 = check multi-line controls [default] +// 2 = check multi/single line controls +pref("layout.spellcheckDefault", 1); + +// Blocks auto refresh if true +pref("accessibility.blockautorefresh", false); + +// special TypeAheadFind settings + +// Use the findbar for type ahead find, instead of the XPFE implementation +pref("accessibility.typeaheadfind.usefindbar", true); +pref("accessibility.typeaheadfind.flashBar", 0); +#ifndef XP_UNIX +pref("accessibility.typeaheadfind.soundURL", "default"); +#endif + +#ifdef XP_WIN +pref("browser.preferences.instantApply", false); +#else +pref("browser.preferences.instantApply", true); +#endif +#ifdef XP_MACOSX +pref("browser.preferences.animateFadeIn", true); +#else +pref("browser.preferences.animateFadeIn", false); +#endif + +// initial web feed readers list - add enough entries for locales to add theirs +pref("browser.contentHandlers.types.0.title", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.0.uri", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.0.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.1.title", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.1.uri", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.1.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.2.title", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.2.uri", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.2.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.3.title", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.3.uri", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.3.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.4.title", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.4.uri", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.4.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.5.title", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.5.uri", "chrome://navigator-region/locale/region.properties"); +pref("browser.contentHandlers.types.5.type", "application/vnd.mozilla.maybe.feed"); + +pref("browser.feeds.handler", "ask"); +pref("browser.videoFeeds.handler", "ask"); +pref("browser.audioFeeds.handler", "ask"); + +// Overriding defaults defined in all.js (no UI yet covering these cases) +pref("browser.safebrowsing.downloads.enabled", false); +pref("browser.safebrowsing.downloads.remote.enabled", false); + +pref("urlclassifier.phishTable", "googpub-phish-proto,test-phish-simple"); + +// Overriding defaults defined in all.js (use full version 2.x, bypassing bug 1077874) (Legacy) +pref("browser.safebrowsing.provider.google.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_SAFEBROWSING_API_KEY%"); +pref("browser.safebrowsing.provider.google.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); +pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.services.mozilla.com/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); +pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.services.mozilla.com/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2"); + +// The following prefs are for testing safebrowsing reporting only. Do not activate them in regular builds. +// pref("browser.safebrowsing.provider.test.reportPhishMistakeURL", "https://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%&url="); +// pref("browser.safebrowsing.provider.test.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url="); + +//Theoretically the "client ID" sent in updates should be appinfo.name but +//anything except "Firefox" or "navclient-auto-ffox" will cause safebrowsing +//updates to fail. So we pretend to be Firefox here. +pref("browser.safebrowsing.id", "navclient-auto-ffox"); + +// Those are only used in our utilityOverlay.js (see bug 1270168) +pref("browser.safebrowsing.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/phishing-protection/"); + +pref("browser.sessionstore.resume_from_crash", true); +pref("browser.sessionstore.resume_session_once", false); + +// minimal interval between two save operations in milliseconds +pref("browser.sessionstore.interval", 15000); +// maximum amount of POSTDATA to be saved in bytes per history entry (-1 = all of it) +// (NB: POSTDATA will be saved either entirely or not at all) +pref("browser.sessionstore.postdata", 0); +// on which sites to save text data, POSTDATA and cookies +// 0 = everywhere, 1 = unencrypted sites, 2 = nowhere +pref("browser.sessionstore.privacy_level", 0); +// the same as browser.sessionstore.privacy_level, but for saving deferred session data +pref("browser.sessionstore.privacy_level_deferred", 2); +// number of crashes that can occur before the about:sessionrestore page is displayed +// (this pref has no effect if more than 6 hours have passed since the last crash) +pref("browser.sessionstore.max_resumed_crashes", 1); +// how many tabs can be reopened (per window) +pref("browser.sessionstore.max_tabs_undo", 10); +// how many windows can be reopened (per session) - on non-OS X platforms this +// pref may be ignored when dealing with pop-up windows to ensure proper startup +pref("browser.sessionstore.max_windows_undo", 3); +// The number of tabs that can restore concurrently: +// < 0 = All tabs can restore at the same time +// 0 = Only the selected tab in each window will load. +// N = N tabs should restore at the same time +pref("browser.sessionstore.max_concurrent_tabs", 3); + +pref("shell.checkDefaultClient", true); +// We want to check if we are the default client for browser and mail. See +// suite/shell/public/nsIShellService.idl for the possible constants you can use +pref("shell.checkDefaultApps", 3); + +pref("app.releaseNotesURL", "chrome://branding/locale/brand.properties"); +pref("app.troubleshootingURL", "chrome://branding/locale/brand.properties"); +pref("app.vendorURL", "chrome://branding/locale/brand.properties"); + +// Base URL for web-based support pages. +pref("app.support.baseURL", "chrome://branding/locale/brand.properties"); + +// App-specific update preferences + +// Whether or not app updates are enabled +pref("app.update.enabled", true); + +// This preference allows automatic download and install to take place. +pref("app.update.auto", true); + +// If set to true, the Update Service will present no UI for any event. +pref("app.update.silent", false); + +// Update service URL: +pref("app.update.url", "https://updates.seamonkey-project.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml"); +// URL user can browse to manually if for some reason all update installation +// attempts fail. +pref("app.update.url.manual", "chrome://branding/locale/brand.properties"); +// A default value for the "More information about this update" link +// supplied in the "An update is available" page of the update wizard. +pref("app.update.url.details", "chrome://branding/locale/brand.properties"); + +// User-settable override to app.update.url for testing purposes. +//pref("app.update.url.override", ""); + +// Enables some extra Application Update Logging (can reduce performance) +pref("app.update.log", false); + +// The number of general background check failures to allow before notifying the +// user of the failure. User initiated update checks always notify the user of +// the failure. +pref("app.update.backgroundMaxErrors", 10); + +// When |app.update.cert.requireBuiltIn| is true or not specified the +// final certificate and all certificates the connection is redirected to before +// the final certificate for the url specified in the |app.update.url| +// preference must be built-in. +pref("app.update.cert.requireBuiltIn", true); + +// When |app.update.cert.checkAttributes| is true or not specified the +// certificate attributes specified in the |app.update.certs.| preference branch +// are checked against the certificate for the url specified by the +// |app.update.url| preference. +pref("app.update.cert.checkAttributes", true); + +// The number of certificate attribute check failures to allow for background +// update checks before notifying the user of the failure. User initiated update +// checks always notify the user of the certificate attribute check failure. +pref("app.update.cert.maxErrors", 5); + +// The |app.update.certs.| preference branch contains branches that are +// sequentially numbered starting at 1 that contain attribute name / value +// pairs for the certificate used by the server that hosts the update xml file +// as specified in the |app.update.url| preference. When these preferences are +// present the following conditions apply for a successful update check: +// 1. the uri scheme must be https +// 2. the preference name must exist as an attribute name on the certificate and +// the value for the name must be the same as the value for the attribute +// name on the certificate. +// If these conditions aren't met it will be treated the same as when there is +// no update available. This validation will not be performed when using the +// |app.update.url.override| preference for update checking. +pref("app.update.certs.1.issuerName", "CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US"); +pref("app.update.certs.1.commonName", "updates.seamonkey-project.org"); + +// Interval: Time between checks for a new version (in seconds) +// default=1 day +pref("app.update.interval", 86400); +// The minimum delay in seconds for the timer to fire. +// default=2 minutes +pref("app.update.timerMinimumDelay", 120); +#ifdef RELEASE_OR_BETA +// Give the user x seconds to react before showing the big UI. default=8 days +pref("app.update.promptWaitTime", 691200); +#else +// For nightly builds, before showing the big UI, default=12 hrs +pref("app.update.promptWaitTime", 43200); +#endif +// Show the Update Checking/Ready UI when the user was idle for x seconds +pref("app.update.idletime", 60); + +// Extension preferences + +// Controls enabling of the extension system logging (can reduce performance) +pref("extensions.logging.enabled", false); + +// Strict compatibility makes add-ons incompatible by default. +pref("extensions.strictCompatibility", false); + +// Disable add-ons installed into the shared user and shared system areas by +// default. See the SCOPE constants in AddonManager.jsm for values to use here. +pref("extensions.autoDisableScopes", 11); + +// Enable add-ons installed and owned by the application, like the default theme. +pref("extensions.startupScanScopes", 4); + +// If true, unprivileged extensions may use experimental APIs on +// nightly and developer edition. +pref("extensions.experiments.enabled", true); + +// Extensions that should not be flagged as legacy in about:addons +// {972ce4c6-7e08-4474-a285-3208198ce6fd} default theme +// {59c81df5-4b7a-477b-912d-4e0fdf64e5f2} chatZilla +// {e2fda1a4-762b-4020-b5ad-a41df1933103} calendar +pref("extensions.legacy.exceptions", "{972ce4c6-7e08-4474-a285-3208198ce6fd},debugQA@mozilla.org,modern@themes.mozilla.org,{59c81df5-4b7a-477b-912d-4e0fdf64e5f2},{e2fda1a4-762b-4020-b5ad-a41df1933103}"); + +// Preferences for AMO integration +pref("extensions.getAddons.cache.enabled", true); // This also toggles personalized recommendations +pref("extensions.getAddons.maxResults", 15); +pref("extensions.getAddons.get.url", "https://live.thunderbird.net/services.addons/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%"); +pref("extensions.getAddons.compatOverides.url", "https://live.thunderbird.net/services.addons/api/v3/addons/compat-override/?guid=%IDS%&lang=%LOCALE%"); +pref("extensions.getAddons.link.url", "https://addons.thunderbird.net/%LOCALE%/%APP%/"); +pref("extensions.getAddons.recommended.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/%OS%/%VERSION%?src=seamonkey"); +pref("extensions.getAddons.search.browseURL", "https://addons.thunderbird.net/%LOCALE%/%APP%/search/?q=%TERMS%"); +pref("extensions.getAddons.search.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=seamonkey"); +pref("extensions.getAddons.themes.browseURL", "https://addons.thunderbird.net/%LOCALE%/thunderbird/themes/?src=seamonkey"); +pref("extensions.getAddons.siteRegExp", "^https://.*addons\\.thunderbird\\.net"); + +pref("extensions.webservice.discoverURL", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/discovery/pane/%VERSION%/%OS%"); + +// Blocklist preferences +pref("extensions.blocklist.url", "https://live.thunderbird.net/blocklists.settings/v1/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%/"); +pref("extensions.blocklist.detailsURL", "https://live.thunderbird.net/blocked.cdn/"); +pref("extensions.blocklist.itemURL", "https://live.thunderbird.net/blocked.cdn/%blockID%.html"); + +// Update preferences for installed Extensions and Themes. +// Symmetric (can be overridden by individual extensions), +// e.g. +// extensions.{GUID}.update.enabled +// extensions.{GUID}.update.url +// extensions.{GUID}.update.interval +// extensions.{GUID}.update.autoUpdateDefault +// .. etc .. +pref("extensions.update.url", "https://versioncheck.addons.thunderbird.net/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%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); +pref("extensions.update.autoUpdateDefault", true); // Download and install automatically +pref("extensions.update.enabled", true); +pref("extensions.update.url", "https://versioncheck.addons.thunderbird.net/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%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); +pref("extensions.update.background.url", "https://versioncheck-bg.addons.thunderbird.net/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%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); +// Check for updates to Extensions and Themes every day +pref("extensions.update.interval", 86400); + +// getMoreThemes is used by our UI under our switch theme menu +pref("extensions.getMoreThemesURL", "https://addons.thunderbird.net/%LOCALE%/%APP%/complete-themes/"); +pref("extensions.getPersonasURL", "https://addons.thunderbird.net/%LOCALE%/%APP%/themes/?sort=up-and-coming"); + +// Non-dynamic switch pending after next restart. +pref("extensions.dss.switchPending", false); + +pref("extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.name", "chrome://navigator/locale/navigator.properties"); +pref("extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.description", "chrome://navigator/locale/navigator.properties"); + +pref("extensions.modern@themes.mozilla.org.name", "chrome://navigator/locale/navigator.properties"); +pref("extensions.modern@themes.mozilla.org.description", "chrome://navigator/locale/navigator.properties"); + +pref("lightweightThemes.selectedThemeID", ""); +pref("lightweightThemes.update.enabled", true); + +pref("xpinstall.whitelist.add", "addons.thunderbird.net"); +pref("xpinstall.enabled", true); +pref("xpinstall.signatures.required", false); + +// Built-in default permissions. +pref("permissions.manager.defaultsUrl", "resource:///defaults/permissions"); + +// Set default fallback values for site permissions we want +// the user to be able to globally change. +pref("permissions.default.camera", 0); +pref("permissions.default.microphone", 0); +pref("permissions.default.geo", 0); +pref("permissions.default.desktop-notification", 0); + +// Customizable toolbar stuff +pref("custtoolbar.personal_toolbar_folder", ""); +// Use a popup window for the customize toolbar UI +pref("toolbar.customization.usesheet", false); + +// Show the toolbar and menu grippies. +pref("browser.toolbars.grippyhidden", false); + +#ifdef XP_WIN +pref("browser.taskbar.lists.enabled", true); +pref("browser.taskbar.lists.frequent.enabled", true); +pref("browser.taskbar.lists.recent.enabled", false); +pref("browser.taskbar.lists.maxListItemCount", 7); +pref("browser.taskbar.lists.tasks.enabled", true); +pref("browser.taskbar.lists.refreshInSeconds", 120); +pref("browser.taskbar.previews.enable", true); +pref("browser.taskbar.previews.max", 20); +pref("browser.taskbar.previews.cachetime", 5); +#endif + +pref("sidebar.customize.directory.url", "https://edmullen.net/mozilla/moz_sidebar.php"); +pref("sidebar.customize.more_panels.url", "https://edmullen.net/mozilla/moz_sidebar.php"); +pref("sidebar.num_tabs_in_view", 8); + +// pref to control the alert notification +pref("alerts.slideIncrement", 1); +pref("alerts.slideIncrementTime", 10); +pref("alerts.totalOpenTime", 10000); + +// 0 opens the download manager +// 1 opens a progress dialog +// 2 and other values, no download manager, no progress dialog. +pref("browser.download.manager.behavior", 0); + +pref("privacy.popups.sound_enabled", false); +pref("privacy.popups.sound_type", 1); +pref("privacy.popups.sound_url", ""); +pref("privacy.popups.statusbar_icon_enabled", true); +pref("privacy.popups.prefill_whitelist", false); +pref("privacy.popups.remove_blacklist", true); +pref("privacy.popups.showBrowserMessage", true); + +// Sanitize options + +// Sanitize everything +pref("privacy.sanitize.timeSpan", 0); + +// Sanitize (clear private data manually) options +pref("privacy.cpd.history", true); +pref("privacy.cpd.urlbar", true); +pref("privacy.cpd.formdata", true); +pref("privacy.cpd.passwords", false); +pref("privacy.cpd.downloads", true); +pref("privacy.cpd.cookies", false); +pref("privacy.cpd.cache", true); +pref("privacy.cpd.sessions", true); +pref("privacy.cpd.offlineApps", false); +pref("privacy.cpd.siteSettings", false); + +// Sanitize (clear private data on shutdown) options +pref("privacy.sanitize.sanitizeOnShutdown", false); + +pref("privacy.clearOnShutdown.history", true); +pref("privacy.clearOnShutdown.urlbar", true); +pref("privacy.clearOnShutdown.formdata", true); +pref("privacy.clearOnShutdown.passwords", false); +pref("privacy.clearOnShutdown.downloads", true); +pref("privacy.clearOnShutdown.cookies", false); +pref("privacy.clearOnShutdown.cache", true); +pref("privacy.clearOnShutdown.sessions", true); +pref("privacy.clearOnShutdown.offlineApps", false); +pref("privacy.clearOnShutdown.siteSettings", false); + +pref("privacy.warn_tracking_content", true); + +// Switching this on will also spoof our user agent and other potentially +// fingerprintable preferences to generic Firefox ones (see nsRFPService +// introduced by bug 1330890 and meta-bug 1329996 dependencies). +pref("privacy.resistFingerprinting", false); + +// Show XUL error pages instead of alerts for errors +pref("browser.xul.error_pages.enabled", true); +pref("browser.xul.error_pages.expert_bad_cert", false); + +// Setting this pref to |true| forces BiDi UI menu items and keyboard shortcuts +// to be exposed. By default, only expose it for bidi-associated system locales. +pref("bidi.browser.ui", false); + +// block popup windows +pref("dom.disable_open_during_load", true); +// prevent JS from moving/resizing existing windows +pref("dom.disable_window_move_resize", true); +// prevent JS from raising or lowering windows +pref("dom.disable_window_flip", true); +// prevent JS from disabling or replacing context menus +pref("dom.event.contextmenu.enabled", true); + +pref("dom.identity.enabled", false); + +// Digital Rights Management, Encrypted Media Extensions +pref("media.eme.enabled", false); + +// Turn off WebRTC by default (bug 1419507) +pref("media.navigator.enabled", false); +pref("media.peerconnection.enabled", false); + +#ifndef XP_MACOSX +// Restore the spinner that was removed in bug 481359 +pref("ui.use_activity_cursor", true); +#endif + +#ifdef XP_MACOSX +// Use a sheet instead of a popup window for the customize toolbar UI +pref("toolbar.customization.usesheet", true); +#endif + +#ifndef XP_MACOSX +#ifdef XP_UNIX +// For the download dialog +pref("browser.download.progressDnldDialog.enable_launch_reveal_buttons", false); + +// Mouse wheel action when over the tab bar: +// false The mouse wheel scrolls the whole tab bar like Firefox. +// true The mouse wheel advances the selected tab. +pref("browser.tabs.mouseScrollAdvancesTab", true); + +pref("browser.urlbar.clickSelectsAll", false); + +// 0 goes back +// 1 act like pgup +// 2 and other values, nothing +pref("browser.backspace_action", 2); + +pref("general.autoScroll", false); + +pref("layout.word_select.stop_at_punctuation", false); +#endif +#endif + +// The breakpad report server to link to in about:crashes +pref("breakpad.reportURL", "https://crash-reports-test.seamonkey-project.org/report/index/"); + +// Name of alternate about: page for certificate errors (when undefined, defaults to about:neterror) +pref("security.alternate_certificate_error_page", "certerror"); +pref("security.warn_entering_secure", false); +pref("security.warn_leaving_secure", false); +pref("security.warn_submit_insecure", false); +pref("security.warn_viewing_mixed", false); +pref("security.warn_mixed_active_content", true); +pref("security.warn_mixed_display_content", true); +// Block insecure active content on https pages +pref("security.mixed_content.block_active_content", true); +// Turn on the CSP 1.0 parser for Content Security Policy headers +pref("security.csp.speccompliant", true); +// 1 = allow MITM for certificate pinning checks. +pref("security.cert_pinning.enforcement_level", 1); + +pref("geo.wifi.uri", "https://www.googleapis.com/geolocation/v1/geolocate?key=%GOOGLE_LOCATION_SERVICE_API_KEY%"); + +// Some of these prefs are specified even though they may be redundant; they are given +// here for clarity and end-user experiments with platform-provided geolocation. +#ifdef XP_MACOSX +pref("geo.provider.use_corelocation", false); +#endif +#ifdef XP_WIN +pref("geo.provider.ms-windows-location", false); +#endif +#ifdef MOZ_WIDGET_GTK +pref("geo.provider.use_gpsd", false); +#endif + +// FAQ URLs +pref("browser.geolocation.warning.infoURL", "http://www.seamonkey-project.org/doc/2.0/geolocation"); + +pref("browser.rights.version", 1); +pref("browser.rights.1.shown", false); + +#ifdef DEBUG +// Don't show the about:rights notification in debug builds. +pref("browser.rights.override", true); +#elifndef OFFICIAL_BUILD +// Don't show the about:rights notification in non-official builds. +pref("browser.rights.override", true); +#endif + +// The sync engines to use. +pref("services.sync.registerEngines", "Bookmarks,Form,History,Password,Prefs,Tab,Addons"); +// Preferences to be synced by default +pref("services.sync.prefs.sync.accessibility.blockautorefresh", true); +pref("services.sync.prefs.sync.accessibility.browsewithcaret", true); +pref("services.sync.prefs.sync.accessibility.typeaheadfind.autostart", true); +pref("services.sync.prefs.sync.accessibility.typeaheadfind.linksonly", true); +pref("services.sync.prefs.sync.accessibility.typeaheadfind.usefindbar", true); +pref("services.sync.prefs.sync.addons.ignoreUserEnabledChanges", true); +// The addons prefs related to repository verification are intentionally +// not synced for security reasons. If a system is compromised, a user +// could weaken the pref locally, install an add-on from an untrusted +// source, and this would propagate automatically to other, +// uncompromised Sync-connected devices. +pref("services.sync.prefs.sync.browser.download.manager.behavior", true); +pref("services.sync.prefs.sync.browser.formfill.enable", true); +pref("services.sync.prefs.sync.browser.link.open_external", true); +pref("services.sync.prefs.sync.browser.link.open_newwindow", true); +pref("services.sync.prefs.sync.browser.offline-apps.notify", true); +pref("services.sync.prefs.sync.browser.safebrowsing.malware.enabled", true); +pref("services.sync.prefs.sync.browser.safebrowsing.phishing.enabled", true); +pref("services.sync.prefs.sync.browser.search.update", true); +pref("services.sync.prefs.sync.browser.sessionstore.max_concurrent_tabs", true); +pref("services.sync.prefs.sync.browser.startup.homepage", true); +pref("services.sync.prefs.sync.browser.startup.page", true); +pref("services.sync.prefs.sync.browser.tabs.autoHide", true); +pref("services.sync.prefs.sync.browser.tabs.closeButtons", true); +pref("services.sync.prefs.sync.browser.tabs.loadInBackground", true); +pref("services.sync.prefs.sync.browser.tabs.warnOnClose", true); +pref("services.sync.prefs.sync.browser.tabs.warnOnCloseOther", true); +pref("services.sync.prefs.sync.browser.tabs.warnOnOpen", true); +pref("services.sync.prefs.sync.browser.urlbar.autocomplete.enabled", true); +pref("services.sync.prefs.sync.browser.urlbar.autoFill", true); +pref("services.sync.prefs.sync.browser.urlbar.suggest.history", true); +pref("services.sync.prefs.sync.browser.urlbar.suggest.bookmark", true); +pref("services.sync.prefs.sync.browser.urlbar.suggest.history.onlyTyped", true); +pref("services.sync.prefs.sync.dom.disable_open_during_load", true); +pref("services.sync.prefs.sync.dom.disable_window_flip", true); +pref("services.sync.prefs.sync.dom.disable_window_move_resize", true); +pref("services.sync.prefs.sync.dom.disable_window_open_feature.status", true); +pref("services.sync.prefs.sync.dom.disable_window_status_change", true); +pref("services.sync.prefs.sync.dom.event.contextmenu.enabled", true); +pref("services.sync.prefs.sync.extensions.update.enabled", true); +pref("services.sync.prefs.sync.general.smoothScroll", true); +pref("services.sync.prefs.sync.intl.accept_languages", true); +pref("services.sync.prefs.sync.javascript.enabled", true); +pref("services.sync.prefs.sync.layout.spellcheckDefault", true); +pref("services.sync.prefs.sync.lightweightThemes.isThemeSelected", true); +pref("services.sync.prefs.sync.lightweightThemes.usedThemes", true); +pref("services.sync.prefs.sync.mailnews.confirm.moveFoldersToTrash", true); +pref("services.sync.prefs.sync.mailnews.customDBHeaders", true); +pref("services.sync.prefs.sync.mailnews.customHeaders", true); +pref("services.sync.prefs.sync.mailnews.display.date_senders_timezone", true); +pref("services.sync.prefs.sync.mailnews.display.disable_format_flowed_support", true); +pref("services.sync.prefs.sync.mailnews.display.disallow_mime_handlers", true); +pref("services.sync.prefs.sync.mailnews.display.html_as", true); +pref("services.sync.prefs.sync.mailnews.display.html_sanitizer.allowed_tags", true); +pref("services.sync.prefs.sync.mailnews.display.prefer_plaintext", true); +pref("services.sync.prefs.sync.mailnews.display.show_all_body_parts_menu", true); +pref("services.sync.prefs.sync.mailnews.emptyTrash.dontAskAgain", true); +pref("services.sync.prefs.sync.mailnews.filters.confirm_delete", true); +pref("services.sync.prefs.sync.mailnews.forward_header_originalmessage", true); +pref("services.sync.prefs.sync.mailnews.headers.extraExpandedHeaders", true); +pref("services.sync.prefs.sync.mailnews.headers.showMessageId", true); +pref("services.sync.prefs.sync.mailnews.headers.showOrganization", true); +pref("services.sync.prefs.sync.mailnews.headers.showReferences", true); +pref("services.sync.prefs.sync.mailnews.headers.showSender", true); +pref("services.sync.prefs.sync.mailnews.headers.showUserAgent", true); +pref("services.sync.prefs.sync.mailnews.localizedRe", true); +pref("services.sync.prefs.sync.mailnews.mark_message_read.auto", true); +pref("services.sync.prefs.sync.mailnews.mark_message_read.delay", true); +pref("services.sync.prefs.sync.mailnews.mark_message_read.delay.interval", true); +pref("services.sync.prefs.sync.mailnews.messageid.openInNewWindow", true); +pref("services.sync.prefs.sync.mailnews.message_display.disable_remote_image", true); +pref("services.sync.prefs.sync.mailnews.nav_crosses_folders", true); +pref("services.sync.prefs.sync.mailnews.offline_sync_mail", true); +pref("services.sync.prefs.sync.mailnews.offline_sync_news", true); +pref("services.sync.prefs.sync.mailnews.offline_sync_send_unsent", true); +pref("services.sync.prefs.sync.mailnews.offline_sync_work_offline", true); +pref("services.sync.prefs.sync.mailnews.remember_selected_message", true); +pref("services.sync.prefs.sync.mailnews.reply_header_authorwrotesingle", true); +pref("services.sync.prefs.sync.mailnews.reply_header_ondateauthorwrote", true); +pref("services.sync.prefs.sync.mailnews.reply_header_authorwroteondate", true); +pref("services.sync.prefs.sync.mailnews.reply_header_locale", true); +pref("services.sync.prefs.sync.mailnews.reply_header_originalmessage", true); +pref("services.sync.prefs.sync.mailnews.reply_header_type", true); +pref("services.sync.prefs.sync.mailnews.scroll_to_new_message", true); +pref("services.sync.prefs.sync.mailnews.sendInBackground", true); +pref("services.sync.prefs.sync.mailnews.send_default_charset", true); +pref("services.sync.prefs.sync.mailnews.send_plaintext_flowed", true); +pref("services.sync.prefs.sync.mailnews.show_send_progress", true); +pref("services.sync.prefs.sync.mailnews.start_page.enabled", true); +pref("services.sync.prefs.sync.mailnews.thread_pane_column_unthreads", true); +pref("services.sync.prefs.sync.mailnews.ui.deleteMarksRead", true); +pref("services.sync.prefs.sync.mailnews.ui.junk.manualMarkAsJunkMarksRead", true); +pref("services.sync.prefs.sync.mailnews.view_default_charset", true); +pref("services.sync.prefs.sync.mailnews.wraplength", true); +pref("services.sync.prefs.sync.network.cookie.cookieBehavior", true); +pref("services.sync.prefs.sync.network.cookie.lifetimePolicy", true); +pref("services.sync.prefs.sync.offline-apps.allow_by_default", true); +pref("services.sync.prefs.sync.permissions.default.image", true); +pref("services.sync.prefs.sync.privacy.donottrackheader.enabled", true); +pref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", true); +pref("services.sync.prefs.sync.privacy.sanitize.promptOnSanitize", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.cache", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.cookies", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.downloads", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.formdata", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.history", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.passwords", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.urlbar", true); +pref("services.sync.prefs.sync.privacy.trackingprotection.enabled", true); +pref("services.sync.prefs.sync.privacy.warn_tracking_content", true); +pref("services.sync.prefs.sync.security.OCSP.enabled", true); +pref("services.sync.prefs.sync.security.OCSP.require", true); +pref("services.sync.prefs.sync.security.default_personal_cert", true); +pref("services.sync.prefs.sync.security.mixed_content.block_active_content", true); +pref("services.sync.prefs.sync.security.mixed_content.block_display_content", true); +pref("services.sync.prefs.sync.security.tls.version.min", true); +pref("services.sync.prefs.sync.security.tls.version.max", true); +pref("services.sync.prefs.sync.security.warn_entering_secure", true); +pref("services.sync.prefs.sync.security.warn_leaving_secure", true); +pref("services.sync.prefs.sync.security.warn_mixed_active_content", true); +pref("services.sync.prefs.sync.security.warn_mixed_display_content", true); +pref("services.sync.prefs.sync.security.warn_submit_insecure", true); +pref("services.sync.prefs.sync.security.warn_viewing_mixed", true); +pref("services.sync.prefs.sync.signon.rememberSignons", true); +pref("services.sync.prefs.sync.spellchecker.dictionary", true); +pref("services.sync.prefs.sync.xpinstall.whitelist.required", true); + +// Enable the DOM fullscreen API. +pref("full-screen-api.enabled", true); + +// Most DevTools prefs are set from the shared file +// devtools/client/preferences/devtools.js, but this one is currently set +// per-app or per-channel. +// Number of usages of the web console or scratchpad. If this is less than 5, +// then pasting code into the web console or scratchpad is disabled +pref("devtools.selfxss.count", 5); + +#if defined(XP_WIN) && defined(MOZ_SANDBOX) +// When this pref is true the Windows process sandbox will set up dummy +// interceptions and log to the browser console when calls fail in the sandboxed +// process and also if they are subsequently allowed by the broker process. +// This will require a restart. +pref("security.sandbox.windows.log", false); + +#if defined(MOZ_CONTENT_SANDBOX) +// This controls the strength of the Windows content process sandbox for testing +// purposes. This will require a restart. +// On windows these levels are: +// See - security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp +// SetSecurityLevelForContentProcess() for what the different settings mean. +#if defined(NIGHTLY_BUILD) +pref("security.sandbox.content.level", 2); +#else +pref("security.sandbox.content.level", 1); +#endif + +#if defined(MOZ_STACKWALKING) +// This controls the depth of stack trace that is logged when Windows sandbox +// logging is turned on. This is only currently available for the content +// process because the only other sandbox (for GMP) has too strict a policy to +// allow stack tracing. This does not require a restart to take effect. +pref("security.sandbox.windows.log.stackTraceDepth", 0); +#endif +#endif +#endif + +#if defined(XP_MACOSX) && defined(MOZ_SANDBOX) && defined(MOZ_CONTENT_SANDBOX) +// This pref is discussed in bug 1083344, the naming is inspired from its +// Windows counterpart, but on Mac it's an integer which means: +// 0 -> "no sandbox" +// 1 -> "preliminary content sandboxing enabled: write access to +// home directory is prevented" +// 2 -> "preliminary content sandboxing enabled with profile protection: +// write access to home directory is prevented, read and write access +// to ~/Library and profile directories are prevented (excluding +// $PROFILE/{extensions,weave})" +// This setting is read when the content process is started. On Mac the content +// process is killed when all windows are closed, so a change will take effect +// when the 1st window is opened. +#if defined(NIGHTLY_BUILD) +pref("security.sandbox.content.level", 2); +#else +pref("security.sandbox.content.level", 1); +#endif +#endif + +#if defined(XP_LINUX) && defined(MOZ_SANDBOX) && defined(MOZ_CONTENT_SANDBOX) +// This pref is introduced as part of bug 742434, the naming is inspired from +// its Windows/Mac counterpart, but on Linux it's an integer which means: +// 0 -> "no sandbox" +// 1 -> "content sandbox using seccomp-bpf when available" +// 2 -> "seccomp-bpf + file broker" +// Content sandboxing on Linux is currently in the stage of +// 'just getting it enabled', which includes a very permissive whitelist. We +// enable seccomp-bpf on nightly to see if everything is running, or if we need +// to whitelist more system calls. +// +// So the purpose of this setting is to allow nightly users to disable the +// sandbox while we fix their problems. This way, they won't have to wait for +// another nightly release which disables seccomp-bpf again. +// +// This setting may not be required anymore once we decide to permanently +// enable the content sandbox. +pref("security.sandbox.content.level", 2); +#endif + +#if defined(XP_MACOSX) || defined(XP_WIN) +#if defined(MOZ_SANDBOX) && defined(MOZ_CONTENT_SANDBOX) +// ID (a UUID when set by gecko) that is used to form the name of a +// sandbox-writable temporary directory to be used by content processes +// when a temporary writable file is required in a level 1 sandbox. +pref("security.sandbox.content.tempDirSuffix", ""); +#endif +#endif + +// Url shown when you type moz://a +pref("toolkit.mozprotocol.url", "http://www.seamonkey-project.org/"); + +// Serif fonts look dated. Switch those language families to sans-serif where it +// makes sense, see bug 1727982. See all.js for other font families preferences. +pref("font.default", "sans-serif"); +pref("font.default.x-unicode", "sans-serif"); +pref("font.default.x-western", "sans-serif"); +pref("font.default.x-cyrillic", "sans-serif"); +pref("font.default.el", "sans-serif"); + +// Toolbox preferences +pref("devtools.toolbox.footer.height", 250); +pref("devtools.toolbox.sidebar.width", 500); +pref("devtools.toolbox.host", "bottom"); +pref("devtools.toolbox.previousHost", "right"); +pref("devtools.toolbox.selectedTool", "inspector"); +pref("devtools.toolbox.sideEnabled", true); +pref("devtools.toolbox.zoomValue", "1"); +pref("devtools.toolbox.splitconsoleEnabled", false); +pref("devtools.toolbox.splitconsoleHeight", 100); +pref("devtools.toolbox.tabsOrder", ""); + +// The fission pref is enabling the "Omniscient Browser Toolbox", which will +// make it possible to debug anything in Firefox (See Bug 1570639 for more +// information). +// âš  This is a work in progress. Expect weirdness when the pref is enabled. âš  +pref("devtools.browsertoolbox.fission", false); + +// Toolbox Button preferences +pref("devtools.command-button-pick.enabled", true); +pref("devtools.command-button-frames.enabled", true); +pref("devtools.command-button-splitconsole.enabled", true); +pref("devtools.command-button-paintflashing.enabled", false); +pref("devtools.command-button-scratchpad.enabled", false); +pref("devtools.command-button-responsive.enabled", true); +pref("devtools.command-button-screenshot.enabled", false); +pref("devtools.command-button-rulers.enabled", false); +pref("devtools.command-button-measure.enabled", false); +pref("devtools.command-button-noautohide.enabled", false); + +// Inspector preferences +// Enable the Inspector +pref("devtools.inspector.enabled", true); + +// What was the last active sidebar in the inspector +pref("devtools.inspector.activeSidebar", "layoutview"); +pref("devtools.inspector.remote", false); + +// Enable the 3 pane mode in the inspector +pref("devtools.inspector.three-pane-enabled", true); +// Enable the 3 pane mode in the chrome inspector +pref("devtools.inspector.chrome.three-pane-enabled", false); +// Collapse pseudo-elements by default in the rule-view +pref("devtools.inspector.show_pseudo_elements", false); +// The default size for image preview tooltips in the rule-view/computed-view/markup-view +pref("devtools.inspector.imagePreviewTooltipSize", 300); +// Enable user agent style inspection in rule-view +pref("devtools.inspector.showUserAgentStyles", false); +// Show all native anonymous content +pref("devtools.inspector.showAllAnonymousContent", false); +// Show user agent shadow roots +pref("devtools.inspector.showUserAgentShadowRoots", false); +// Enable the new Rules View +pref("devtools.inspector.new-rulesview.enabled", false); + +// Grid highlighter preferences +pref("devtools.gridinspector.gridOutlineMaxColumns", 50); +pref("devtools.gridinspector.gridOutlineMaxRows", 50); +pref("devtools.gridinspector.showGridAreas", false); +pref("devtools.gridinspector.showGridLineNumbers", false); +pref("devtools.gridinspector.showInfiniteLines", false); +// Max number of grid highlighters that can be displayed +pref("devtools.gridinspector.maxHighlighters", 3); + +// Whether or not the box model panel is opened in the layout view +pref("devtools.layout.boxmodel.opened", true); +// Whether or not the flexbox panel is opened in the layout view +pref("devtools.layout.flexbox.opened", true); +// Whether or not the grid inspector panel is opened in the layout view +pref("devtools.layout.grid.opened", true); + +// Enable hovering Box Model values and jumping to their source CSS rule in the +// rule-view. +#if defined(NIGHTLY_BUILD) + pref("devtools.layout.boxmodel.highlightProperty", true); +#else + pref("devtools.layout.boxmodel.highlightProperty", false); +#endif + +// By how many times eyedropper will magnify pixels +pref("devtools.eyedropper.zoom", 6); + +// Enable to collapse attributes that are too long. +pref("devtools.markup.collapseAttributes", true); +// Length to collapse attributes +pref("devtools.markup.collapseAttributeLength", 120); +// Whether to auto-beautify the HTML on copy. +pref("devtools.markup.beautifyOnCopy", false); +// Whether or not the DOM mutation breakpoints context menu are enabled in the +// markup view. +pref("devtools.markup.mutationBreakpoints.enabled", false); + +// DevTools default color unit +pref("devtools.defaultColorUnit", "authored"); + +// Enable the Memory tools +pref("devtools.memory.enabled", true); + +pref("devtools.memory.custom-census-displays", "{}"); +pref("devtools.memory.custom-label-displays", "{}"); +pref("devtools.memory.custom-tree-map-displays", "{}"); + +pref("devtools.memory.max-individuals", 1000); +pref("devtools.memory.max-retaining-paths", 10); + +// Enable the Performance tools +pref("devtools.performance.enabled", true); + +// The default Performance UI settings +pref("devtools.performance.memory.sample-probability", "0.05"); + +// Can't go higher than this without causing internal allocation overflows while +// serializing the allocations data over the RDP. +pref("devtools.performance.memory.max-log-length", 125000); +pref("devtools.performance.timeline.hidden-markers", + "[\"Composite\",\"CompositeForwardTransaction\"]"); +pref("devtools.performance.profiler.buffer-size", 10000000); +pref("devtools.performance.profiler.sample-frequency-hz", 1000); +pref("devtools.performance.ui.invert-call-tree", true); +pref("devtools.performance.ui.invert-flame-graph", false); +pref("devtools.performance.ui.flatten-tree-recursion", true); +pref("devtools.performance.ui.show-platform-data", false); +pref("devtools.performance.ui.show-idle-blocks", true); +pref("devtools.performance.ui.enable-memory", false); +pref("devtools.performance.ui.enable-allocations", false); +pref("devtools.performance.ui.enable-framerate", true); +pref("devtools.performance.ui.show-jit-optimizations", false); +pref("devtools.performance.ui.show-triggers-for-gc-types", + "TOO_MUCH_MALLOC ALLOC_TRIGGER LAST_DITCH EAGER_ALLOC_TRIGGER"); + +// Temporary pref disabling memory flame views +// TODO remove once we have flame charts via bug 1148663 +pref("devtools.performance.ui.enable-memory-flame", false); + +// Enable experimental options in the UI only in Nightly +#if defined(NIGHTLY_BUILD) + pref("devtools.performance.ui.experimental", true); +#else + pref("devtools.performance.ui.experimental", false); +#endif + +// Preferences for the new performance panel. This pref configures the base URL +// for the profiler.firefox.com instance to use. This is useful so that a +// developer can change it while working on profiler.firefox.com, or in tests. +// This isn't exposed directly to the user. +pref("devtools.performance.recording.ui-base-url", "https://profiler.firefox.com"); + +// A JSON array of strings, where each string is a file path to an objdir on +// the host machine. This is used in order to look up symbol information from +// build artifacts of local builds. +pref("devtools.performance.recording.objdirs", "[]"); + +// The default cache UI setting +pref("devtools.cache.disabled", false); + +// The default service workers UI setting +pref("devtools.serviceWorkers.testing.enabled", false); + +// Enable the Network Monitor +pref("devtools.netmonitor.enabled", true); + +// Enable Network Search +pref("devtools.netmonitor.features.search", false); + +// Enable the Application panel +pref("devtools.application.enabled", false); + +// The default Network Monitor UI settings +pref("devtools.netmonitor.panes-network-details-width", 550); +pref("devtools.netmonitor.panes-network-details-height", 450); +pref("devtools.netmonitor.panes-search-width", 550); +pref("devtools.netmonitor.panes-search-height", 450); +pref("devtools.netmonitor.filters", "[\"all\"]"); +pref("devtools.netmonitor.visibleColumns", + "[\"status\",\"method\",\"domain\",\"file\",\"cause\",\"type\",\"transferred\",\"contentSize\",\"waterfall\"]" +); +pref("devtools.netmonitor.columnsData", + '[{"name":"status","minWidth":30,"width":5}, {"name":"method","minWidth":30,"width":5}, {"name":"domain","minWidth":30,"width":10}, {"name":"file","minWidth":30,"width":25}, {"name":"url","minWidth":30,"width":25}, {"name":"cause","minWidth":30,"width":10},{"name":"type","minWidth":30,"width":5},{"name":"transferred","minWidth":30,"width":10},{"name":"contentSize","minWidth":30,"width":5},{"name":"waterfall","minWidth":150,"width":25}]'); +pref("devtools.netmonitor.ws.payload-preview-height", 128); +pref("devtools.netmonitor.ws.visibleColumns", + '["data", "time"]' +); + +pref("devtools.netmonitor.ws.displayed-frames.limit", 500); +pref("devtools.netmonitor.response.ui.limit", 10240); + +// Save request/response bodies yes/no. +pref("devtools.netmonitor.saveRequestAndResponseBodies", true); + +// The default Network monitor HAR export setting +pref("devtools.netmonitor.har.defaultLogDir", ""); +pref("devtools.netmonitor.har.defaultFileName", "%hostname_Archive [%date]"); +pref("devtools.netmonitor.har.jsonp", false); +pref("devtools.netmonitor.har.jsonpCallback", ""); +pref("devtools.netmonitor.har.includeResponseBodies", true); +pref("devtools.netmonitor.har.compress", false); +pref("devtools.netmonitor.har.forceExport", false); +pref("devtools.netmonitor.har.pageLoadedTimeout", 1500); +pref("devtools.netmonitor.har.enableAutoExportToFile", false); + +// Enable WebSocket monitoring in Nightly builds. +#if defined(NIGHTLY_BUILD) + pref("devtools.netmonitor.features.webSockets", true); +#else + pref("devtools.netmonitor.features.webSockets", false); +#endif + +// Scratchpad settings +// - recentFileMax: The maximum number of recently-opened files +// stored. Setting this preference to 0 will not +// clear any recent files, but rather hide the +// 'Open Recent'-menu. +// - lineNumbers: Whether to show line numbers or not. +// - wrapText: Whether to wrap text or not. +// - showTrailingSpace: Whether to highlight trailing space or not. +// - editorFontSize: Editor font size configuration. +// - enableAutocompletion: Whether to enable JavaScript autocompletion. +pref("devtools.scratchpad.recentFilesMax", 10); +pref("devtools.scratchpad.lineNumbers", true); +pref("devtools.scratchpad.wrapText", false); +pref("devtools.scratchpad.showTrailingSpace", false); +pref("devtools.scratchpad.editorFontSize", 12); +pref("devtools.scratchpad.enableAutocompletion", true); + +// Enable the Storage Inspector +pref("devtools.storage.enabled", true); + +// Enable the Style Editor. +pref("devtools.styleeditor.enabled", true); +pref("devtools.styleeditor.autocompletion-enabled", true); +pref("devtools.styleeditor.showMediaSidebar", true); +pref("devtools.styleeditor.mediaSidebarWidth", 238); +pref("devtools.styleeditor.navSidebarWidth", 245); +pref("devtools.styleeditor.transitions", true); + +// Screenshot Option Settings. +pref("devtools.screenshot.clipboard.enabled", false); +pref("devtools.screenshot.audio.enabled", true); + +// Enable Scratchpad +pref("devtools.scratchpad.enabled", false); + +// Make sure the DOM panel is hidden by default +pref("devtools.dom.enabled", false); + +// Enable the Accessibility panel. +pref("devtools.accessibility.enabled", true); + +// Web console filters +pref("devtools.webconsole.filter.error", true); +pref("devtools.webconsole.filter.warn", true); +pref("devtools.webconsole.filter.info", true); +pref("devtools.webconsole.filter.log", true); +pref("devtools.webconsole.filter.debug", true); +pref("devtools.webconsole.filter.css", false); +pref("devtools.webconsole.filter.net", false); +pref("devtools.webconsole.filter.netxhr", false); + +// Webconsole autocomplete preference +pref("devtools.webconsole.input.autocomplete",true); + +// Browser console filters +pref("devtools.browserconsole.filter.error", true); +pref("devtools.browserconsole.filter.warn", true); +pref("devtools.browserconsole.filter.info", true); +pref("devtools.browserconsole.filter.log", true); +pref("devtools.browserconsole.filter.debug", true); +pref("devtools.browserconsole.filter.css", false); +pref("devtools.browserconsole.filter.net", false); +pref("devtools.browserconsole.filter.netxhr", false); + +// Max number of inputs to store in web console history. +pref("devtools.webconsole.inputHistoryCount", 300); + +// Persistent logging: |true| if you want the relevant tool to keep all of the +// logged messages after reloading the page, |false| if you want the output to +// be cleared each time page navigation happens. +pref("devtools.webconsole.persistlog", false); +pref("devtools.netmonitor.persistlog", false); + +// Web Console timestamp: |true| if you want the logs and instructions +// in the Web Console to display a timestamp, or |false| to not display +// any timestamps. +pref("devtools.webconsole.timestampMessages", false); + +// Enable the webconsole sidebar toggle in Nightly builds. +#if defined(NIGHTLY_BUILD) + pref("devtools.webconsole.sidebarToggle", true); +#else + pref("devtools.webconsole.sidebarToggle", false); +#endif + +// Enable editor mode in the console in Nightly builds. +#if defined(NIGHTLY_BUILD) + pref("devtools.webconsole.features.editor", true); +#else + pref("devtools.webconsole.features.editor", false); +#endif + +// Saved editor mode state in the console. +pref("devtools.webconsole.input.editor", false); + +// Editor width for webconsole and browserconsole +pref("devtools.webconsole.input.editorWidth", 0); +pref("devtools.browserconsole.input.editorWidth", 0); + +// Disable the new performance recording panel by default +pref("devtools.performance.new-panel-enabled", false); + +// Enable message grouping in the console, true by default +pref("devtools.webconsole.groupWarningMessages", true); + +// Saved state of the Display content messages checkbox in the browser console. +pref("devtools.browserconsole.contentMessages", false); + +// Enable client-side mapping service for source maps +pref("devtools.source-map.client-service.enabled", true); + +// The number of lines that are displayed in the web console. +pref("devtools.hud.loglimit", 10000); + +// The developer tools editor configuration: +// - tabsize: how many spaces to use when a Tab character is displayed. +// - expandtab: expand Tab characters to spaces. +// - keymap: which keymap to use (can be 'default', 'emacs' or 'vim') +// - autoclosebrackets: whether to permit automatic bracket/quote closing. +// - detectindentation: whether to detect the indentation from the file +// - enableCodeFolding: Whether to enable code folding or not. +pref("devtools.editor.tabsize", 2); +pref("devtools.editor.expandtab", true); +pref("devtools.editor.keymap", "default"); +pref("devtools.editor.autoclosebrackets", true); +pref("devtools.editor.detectindentation", true); +pref("devtools.editor.enableCodeFolding", true); +pref("devtools.editor.autocomplete", true); + +// The angle of the viewport. +pref("devtools.responsive.viewport.angle", 0); +// The width of the viewport. +pref("devtools.responsive.viewport.width", 320); +// The height of the viewport. +pref("devtools.responsive.viewport.height", 480); +// The pixel ratio of the viewport. +pref("devtools.responsive.viewport.pixelRatio", 0); +// Whether or not the viewports are left aligned. +pref("devtools.responsive.leftAlignViewport.enabled", false); +// Whether to reload when touch simulation is toggled +pref("devtools.responsive.reloadConditions.touchSimulation", false); +// Whether to reload when user agent is changed +pref("devtools.responsive.reloadConditions.userAgent", false); +// Whether to show the notification about reloading to apply emulation +pref("devtools.responsive.reloadNotification.enabled", true); +// Whether or not touch simulation is enabled. +pref("devtools.responsive.touchSimulation.enabled", false); +// Whether or not meta viewport is enabled, if and only if touchSimulation +// is also enabled. +pref("devtools.responsive.metaViewport.enabled", false); +// The user agent of the viewport. +pref("devtools.responsive.userAgent", ""); + +// Whether to show the settings onboarding tooltip only in release or beta +// builds. +#if defined(RELEASE_OR_BETA) + pref("devtools.responsive.show-setting-tooltip", true); +#else + pref("devtools.responsive.show-setting-tooltip", false); +#endif +// Show the custom user agent input in Nightly builds. +#if defined(NIGHTLY_BUILD) + pref("devtools.responsive.showUserAgentInput", true); +#else + pref("devtools.responsive.showUserAgentInput", false); +#endif + +// Show tab debug targets for This Firefox (on by default for local builds). +#ifdef MOZILLA_OFFICIAL + pref("devtools.aboutdebugging.local-tab-debugging", false); +#else + pref("devtools.aboutdebugging.local-tab-debugging", true); +#endif + +// Show process debug targets. +pref("devtools.aboutdebugging.process-debugging", true); +// Stringified array of network locations that users can connect to. +pref("devtools.aboutdebugging.network-locations", "[]"); +// Debug target pane collapse/expand settings. +pref("devtools.aboutdebugging.collapsibilities.installedExtension", false); +pref("devtools.aboutdebugging.collapsibilities.otherWorker", false); +pref("devtools.aboutdebugging.collapsibilities.serviceWorker", false); +pref("devtools.aboutdebugging.collapsibilities.sharedWorker", false); +pref("devtools.aboutdebugging.collapsibilities.tab", false); +pref("devtools.aboutdebugging.collapsibilities.temporaryExtension", false); + +// about:debugging: only show system and hidden extensions in local builds by +// default. +#ifdef MOZILLA_OFFICIAL + pref("devtools.aboutdebugging.showHiddenAddons", false); +#else + pref("devtools.aboutdebugging.showHiddenAddons", true); +#endif + +// Map top-level await expressions in the console +pref("devtools.debugger.features.map-await-expression", true); + +// Disable autohide for DevTools popups and tooltips. +// This is currently not exposed by any UI to avoid making +// about:devtools-toolbox tabs unusable by mistake. +pref("devtools.popup.disable_autohide", false); + +// Load the DevTools toolbox in a frame with type=content instead of type=chrome +// See Bug 1539979 for more details. +// We keep the option of running devtools in a chrome frame while we fix racy +// tests that started failing when using type=content, but this ultimately +// should be removed. +pref("devtools.toolbox.content-frame", true); diff --git a/comm/suite/app/seamonkey.exe.manifest b/comm/suite/app/seamonkey.exe.manifest new file mode 100644 index 0000000000..16c190f0d3 --- /dev/null +++ b/comm/suite/app/seamonkey.exe.manifest @@ -0,0 +1,46 @@ + + + +SeaMonkey + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + diff --git a/comm/suite/app/seamonkey.man.in b/comm/suite/app/seamonkey.man.in new file mode 100644 index 0000000000..d5a51eb1ae --- /dev/null +++ b/comm/suite/app/seamonkey.man.in @@ -0,0 +1,160 @@ +.TH @MOZ_APP_NAME@ 1 "August 05, 2020" @MOZ_APP_NAME@ "Linux User's Manual" +.SH NAME +@MOZ_APP_NAME@ \- an internet application suite (browser, mail, etc.) + +.SH SYNOPSIS +.B @MOZ_APP_NAME@ +[\fIOPTIONS\fR] [\fIURL\fR] + +.SH DESCRIPTION +\fB@MOZ_APP_DISPLAYNAME@\fR is an all-in-one Internet application suite (previously made popular by Netscape and Mozilla). +It includes an Internet browser, advanced e-mail, newsgroup and feed client, a calendar, IRC client, +HTML editor and a tool to inspect the DOM for web pages. +It is derived from the application formerly known as Mozilla Application Suite. + +.SH OPTIONS +A summary of the options supported by \fB@MOZ_APP_NAME@\fR is included below. + +.SS "X11 options" +.TP +.BI \-\-display= DISPLAY +X display to use +.TP +.B \--sync +Make X calls synchronous +.TP +.B \-\-g-fatal-warnings +Make all warnings fatal + +.SS "@MOZ_APP_DISPLAYNAME@ options" +.TP +.B \-h, \-help +Show summary of options. +.TP +.B \-v, \-version +Print \fB@MOZ_APP_NAME@\fR version. +.TP +\fB\-P\fR \fIprofile\fR +Start with \fIprofile\fR. +.TP +\fB\-profile\fR \fIpath\fR +Start with profile at \fIpath\fR. +.TP +\fB\-CreateProfile\fR \fIprofile_name\fR +Create a new profile in the default directory, but do not start the application. +The profile will be named \fIprofile_name\fR in the profile manager, +the \fIprofile_name\fR must not contain spaces. Do not run \fIprofile_name\fR while running +an instance of the application, you can use the \fB-no-remote\fR option to avoid connecting +to a running instance. +.TP +\fB\-CreateProfile\fR "\fIprofile_name profile_dir\fR" +The same, but creates a new profile in the \fIprofile_dir\fR directory. +Note \fIprofile_name\fR and \fIprofile_dir\fR are quoted together, and are separated +by exactly 1 space. +.TP +.B \-migration +Start with import wizard (if you have proper import sources). +.TP +.B \-ProfileManager +Start with profile manager. +.TP +.B \-no-remote +Do not accept or send remote commands. Implies \fB-new-instance\fR. +.TP +.B \-new-instance +Open new instance, not a new window in running instance, +which allows multiple copies of application to be open at a time. +.TP +.B \-safe-mode +Launches the application with all extensions disabled, for that launch only +(extensions are not loaded, but are not permanently disabled in the extension manager data source). +.TP +.B \-headless +Runs @MOZ_APP_DISPLAYNAME@ in headless mode, which is very useful for purposes such as +debugging and automated testing. +.TP +.B \-addressbook +Open the address book at startup. +.TP +\fB\-compose\fR [\fIurl\fR] +Compose a mail or news message. Options are specified as string +\fB"option='\fIvalue,...\fB',option=\fIvalue\fR,\fI...\fB"\fR +and include: \fIfrom\fR, \fIto\fR, \fIcc\fR, \fIbcc\fR, \fInewsgroups\fR, \fIsubject\fR, \fIbody\fR, \fImessage \fR(\fIfile\fR), \fIattachment\fR (\fIfile\fR), \fIformat\fR (\fIhtml\fR | \fItext\fR). +Example: +.B "to=\fIjohn@example.com\fB,subject=\fI'Dinner tonight?'\fB" +.TP +.B \-jsconsole +Open the Browser Console. +.TP +.B \-purgecaches +Gecko (layout engine) has a JavaScript cache, which is not reset on startup, this clears it. +.TP +\fB\-edit\fR [\fIurl\fR] +Start with editor (composer) for the given \fIurl\fR (optional). +.TP +.B \-mail, \-news +Open the Mail&News folder view. +.TP +\fB\-mail\fR \fIurl\fR +Open the message specified by this \fIurl\fR. +.TP +.B \-offline +Start with the offline mode. +This option will only work if @MOZ_APP_DISPLAYNAME@ is set to "detect +automatically" the online/offline status on startup. To set this, go +to Edit -> Preferences -> Mail & Newsgroups -> Network & Storage and +in the "Offline" group choose "Detect automatically (if available)" in +the "When starting up:" drop-down box. +.TP +.B \-suiteconsole +Open the Error Console. +.TP +.B \-browser +Open a browser window. +.TP +.B \-private +Open a private browsing window. +.TP +\fB\-new-window\fR \fIurl\fR +Open \fIurl\fR in a new browser window. +.TP +\fB\-new-tab\fR \fIurl\fR +Open \fIurl\fR in a new browser tab. +.TP +\fB\-url\fR \fIurl\fR +Open the specified \fIurl\fR. +.TP +\fB\-chrome\fR \fIchrome_url\fR +Load the specified chrome. +.TP +\fB\-register\fR \fIchrome_url\fR +Register the specified chrome, but do not start application. +.TP +\fB\-search\fR \fIterm\fR +Search \fIterm\fR with your default search engine. +.TP +.B \-preferences +Open Preferences window. +.TP +\fB\-remote\fR \fIcommand\fR +Execute \fIcommand\fR in an already running @MOZ_APP_DISPLAYNAME@ process. For more info, +see: \fIhttp://www.mozilla.org/unix/remote.html\fR +.TP +.B \-silent +Don't open default windows. Useful with those command-line arguments that open +their own windows but don't already prevent default windows from opening. + +.SH VERSION +@MOZ_APP_VERSION@ + +.SH BUGS +To report a bug, please visit \fIhttps://bugzilla.mozilla.org/\fR + +.SH "SEE ALSO" +.BR firefox (1), +.BR thunderbird (1) + +.SH AUTHORS +.TP +.B The @MOZ_APP_DISPLAYNAME@ Team. +.I https://www.seamonkey-project.org diff --git a/comm/suite/app/splash.rc b/comm/suite/app/splash.rc new file mode 100644 index 0000000000..05bad2f615 --- /dev/null +++ b/comm/suite/app/splash.rc @@ -0,0 +1,23 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include +#include "nsNativeAppSupportWin.h" + +1 24 "seamonkey.exe.manifest" + +STRINGTABLE DISCARDABLE +BEGIN + IDS_STARTMENU_APPNAME, "@MOZ_APP_DISPLAYNAME@" +END + +// Program icon. +IDI_APPLICATION ICON SEAMONKEY_ICO + +// For some reason IDI_MAILBIFF needs to be larger than the value of IDI_APPLICATION for static builds +#define IDI_MAILBIFF 32576 +IDI_MAILBIFF ICON "../branding/seamonkey/icons/windows/newmail.ico" + +#define IDI_HTMLFILE 32577 +IDI_HTMLFILE ICON HTML_FILE_ICO -- cgit v1.2.3