From 49ee0794b5d912db1f95dce6eb52d781dc210db5 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 03:35:06 -0500 Subject: Add Pale Moon --- application/palemoon/LICENSE | 7 + application/palemoon/Makefile.in | 13 + application/palemoon/app-rules.mk | 1 + application/palemoon/app.mozbuild | 17 + application/palemoon/app/Makefile.in | 116 + application/palemoon/app/blocklist.xml | 3887 +++++++++++ .../palemoon/app/macbuild/Contents/CodeResources | 1 + .../palemoon/app/macbuild/Contents/Info.plist.in | 222 + .../palemoon/app/macbuild/Contents/MacOS-files.in | 10 + .../Resources/English.lproj/InfoPlist.strings.in | 5 + .../macbuild/Contents/_CodeSignature/CodeResources | 71 + application/palemoon/app/macversion.py | 44 + application/palemoon/app/module.ver | 8 + application/palemoon/app/moz.build | 91 + application/palemoon/app/nsBrowserApp.cpp | 452 ++ application/palemoon/app/palemoon.exe.manifest | 48 + application/palemoon/app/profile/channel-prefs.js | 6 + .../palemoon/app/profile/extensions/moz.build | 7 + .../Makefile.in | 10 + .../install.rdf.in | 40 + .../moz.build | 8 + application/palemoon/app/profile/pagethemes.rdf | 7 + application/palemoon/app/profile/palemoon.js | 1156 ++++ application/palemoon/app/profile/prefs.js | 13 + application/palemoon/app/splash.rc | 21 + application/palemoon/base/content/aboutDialog.css | 70 + application/palemoon/base/content/aboutDialog.js | 590 ++ application/palemoon/base/content/aboutDialog.xul | 120 + .../palemoon/base/content/aboutRobots-icon.png | Bin 0 -> 9817 bytes .../base/content/aboutRobots-widget-left.png | Bin 0 -> 2224 bytes .../palemoon/base/content/aboutRobots.xhtml | 108 + .../palemoon/base/content/abouthome/aboutHome.css | 339 + .../palemoon/base/content/abouthome/aboutHome.js | 354 + .../base/content/abouthome/aboutHome.xhtml | 60 + .../palemoon/base/content/abouthome/addons.png | Bin 0 -> 1444 bytes .../palemoon/base/content/abouthome/addons@2x.png | Bin 0 -> 3783 bytes .../palemoon/base/content/abouthome/bookmarks.png | Bin 0 -> 1276 bytes .../base/content/abouthome/bookmarks@2x.png | Bin 0 -> 2946 bytes .../palemoon/base/content/abouthome/downloads.png | Bin 0 -> 898 bytes .../base/content/abouthome/downloads@2x.png | Bin 0 -> 2018 bytes .../palemoon/base/content/abouthome/history.png | Bin 0 -> 1654 bytes .../palemoon/base/content/abouthome/history@2x.png | Bin 0 -> 4629 bytes .../palemoon/base/content/abouthome/noise.png | Bin 0 -> 4025 bytes .../base/content/abouthome/restore-large.png | Bin 0 -> 2841 bytes .../base/content/abouthome/restore-large@2x.png | Bin 0 -> 7267 bytes .../palemoon/base/content/abouthome/restore.png | Bin 0 -> 1796 bytes .../palemoon/base/content/abouthome/restore@2x.png | Bin 0 -> 4810 bytes .../palemoon/base/content/abouthome/settings.png | Bin 0 -> 1557 bytes .../base/content/abouthome/settings@2x.png | Bin 0 -> 3836 bytes .../palemoon/base/content/abouthome/snippet1.png | Bin 0 -> 1470 bytes .../base/content/abouthome/snippet1@2x.png | Bin 0 -> 3243 bytes .../palemoon/base/content/abouthome/snippet2.png | Bin 0 -> 3287 bytes .../base/content/abouthome/snippet2@2x.png | Bin 0 -> 11027 bytes .../palemoon/base/content/abouthome/sync.png | Bin 0 -> 1879 bytes .../palemoon/base/content/abouthome/sync@2x.png | Bin 0 -> 4615 bytes application/palemoon/base/content/autorecovery.js | 60 + application/palemoon/base/content/autorecovery.xul | 12 + .../palemoon/base/content/baseMenuOverlay.xul | 100 + .../palemoon/base/content/blockedSite.xhtml | 193 + .../palemoon/base/content/browser-addons.js | 536 ++ .../palemoon/base/content/browser-appmenu.inc | 394 ++ .../palemoon/base/content/browser-charsetmenu.inc | 62 + .../palemoon/base/content/browser-context.inc | 379 ++ .../palemoon/base/content/browser-doctype.inc | 19 + application/palemoon/base/content/browser-feeds.js | 224 + .../palemoon/base/content/browser-fullScreen.js | 607 ++ .../palemoon/base/content/browser-fullZoom.js | 550 ++ .../base/content/browser-gestureSupport.js | 1059 +++ .../palemoon/base/content/browser-menubar.inc | 595 ++ .../palemoon/base/content/browser-menudragging.js | 362 + .../palemoon/base/content/browser-menudragging.xul | 13 + .../palemoon/base/content/browser-places.js | 1303 ++++ .../palemoon/base/content/browser-plugins.js | 797 +++ application/palemoon/base/content/browser-sets.inc | 436 ++ .../palemoon/base/content/browser-syncui.js | 470 ++ .../palemoon/base/content/browser-tabPreviews.js | 1051 +++ .../palemoon/base/content/browser-tabPreviews.xml | 75 + .../palemoon/base/content/browser-thumbnails.js | 198 + .../palemoon/base/content/browser-title.css | 204 + .../palemoon/base/content/browser-webrtcUI.js | 55 + application/palemoon/base/content/browser.css | 693 ++ application/palemoon/base/content/browser.js | 7163 ++++++++++++++++++++ application/palemoon/base/content/browser.xul | 1058 +++ .../palemoon/base/content/browserMountPoints.inc | 12 + application/palemoon/base/content/content.js | 64 + .../base/content/downloadManagerOverlay.xul | 32 + .../palemoon/base/content/global-scripts.inc | 13 + application/palemoon/base/content/hiddenWindow.xul | 19 + application/palemoon/base/content/highlighter.css | 105 + .../palemoon/base/content/jsConsoleOverlay.xul | 18 + .../palemoon/base/content/macBrowserOverlay.xul | 64 + application/palemoon/base/content/newtab/cells.js | 126 + application/palemoon/base/content/newtab/drag.js | 151 + .../palemoon/base/content/newtab/dragDataHelper.js | 22 + application/palemoon/base/content/newtab/drop.js | 150 + .../palemoon/base/content/newtab/dropPreview.js | 222 + .../palemoon/base/content/newtab/dropTargetShim.js | 188 + application/palemoon/base/content/newtab/grid.js | 171 + .../palemoon/base/content/newtab/newTab.css | 209 + application/palemoon/base/content/newtab/newTab.js | 57 + .../palemoon/base/content/newtab/newTab.xul | 55 + application/palemoon/base/content/newtab/page.js | 135 + application/palemoon/base/content/newtab/sites.js | 192 + .../base/content/newtab/transformations.js | 265 + application/palemoon/base/content/newtab/undo.js | 116 + .../palemoon/base/content/newtab/updater.js | 186 + application/palemoon/base/content/nsContextMenu.js | 1588 +++++ application/palemoon/base/content/openLocation.js | 134 + application/palemoon/base/content/openLocation.xul | 57 + .../base/content/overrides/app-license.html | 6 + application/palemoon/base/content/padlock.css | 203 + application/palemoon/base/content/padlock.js | 234 + application/palemoon/base/content/padlock.xul | 63 + .../base/content/padlock_classic_broken.png | Bin 0 -> 726 bytes .../palemoon/base/content/padlock_classic_ev.png | Bin 0 -> 566 bytes .../base/content/padlock_classic_https.png | Bin 0 -> 589 bytes .../palemoon/base/content/padlock_classic_low.png | Bin 0 -> 682 bytes .../palemoon/base/content/padlock_mod_broken.png | Bin 0 -> 728 bytes .../palemoon/base/content/padlock_mod_ev.png | Bin 0 -> 290 bytes .../palemoon/base/content/padlock_mod_https.png | Bin 0 -> 338 bytes .../palemoon/base/content/padlock_mod_low.png | Bin 0 -> 386 bytes .../palemoon/base/content/pageinfo/feeds.js | 59 + .../palemoon/base/content/pageinfo/feeds.xml | 40 + .../palemoon/base/content/pageinfo/pageInfo.css | 26 + .../palemoon/base/content/pageinfo/pageInfo.js | 1285 ++++ .../palemoon/base/content/pageinfo/pageInfo.xml | 29 + .../palemoon/base/content/pageinfo/pageInfo.xul | 559 ++ .../palemoon/base/content/pageinfo/permissions.js | 398 ++ .../palemoon/base/content/pageinfo/security.js | 378 ++ .../palemoon/base/content/popup-notifications.inc | 97 + .../base/content/report-phishing-overlay.xul | 35 + application/palemoon/base/content/safeMode.css | 8 + application/palemoon/base/content/safeMode.js | 128 + application/palemoon/base/content/safeMode.xul | 55 + application/palemoon/base/content/sanitize.js | 527 ++ application/palemoon/base/content/sanitize.xul | 190 + .../palemoon/base/content/sanitizeDialog.css | 23 + .../palemoon/base/content/sanitizeDialog.js | 910 +++ .../base/content/softwareUpdateOverlay.xul | 18 + .../base/content/sync/aboutSyncTabs-bindings.xml | 46 + .../palemoon/base/content/sync/aboutSyncTabs.css | 11 + .../palemoon/base/content/sync/aboutSyncTabs.js | 313 + .../palemoon/base/content/sync/aboutSyncTabs.xul | 68 + .../palemoon/base/content/sync/addDevice.js | 157 + .../palemoon/base/content/sync/addDevice.xul | 129 + .../palemoon/base/content/sync/genericChange.js | 234 + .../palemoon/base/content/sync/genericChange.xul | 123 + application/palemoon/base/content/sync/key.xhtml | 54 + .../palemoon/base/content/sync/notification.xml | 129 + application/palemoon/base/content/sync/progress.js | 71 + .../palemoon/base/content/sync/progress.xhtml | 55 + application/palemoon/base/content/sync/quota.js | 267 + application/palemoon/base/content/sync/quota.xul | 65 + application/palemoon/base/content/sync/setup.js | 1071 +++ application/palemoon/base/content/sync/setup.xul | 491 ++ application/palemoon/base/content/sync/utils.js | 218 + application/palemoon/base/content/tabbrowser.css | 68 + application/palemoon/base/content/tabbrowser.xml | 4960 ++++++++++++++ .../palemoon/base/content/test/general/audio.ogg | Bin 0 -> 47411 bytes .../palemoon/base/content/urlbarBindings.xml | 1969 ++++++ .../palemoon/base/content/utilityOverlay.js | 677 ++ .../palemoon/base/content/viewSourceOverlay.xul | 26 + application/palemoon/base/content/web-panels.js | 102 + application/palemoon/base/content/web-panels.xul | 84 + .../palemoon/base/content/win6BrowserOverlay.xul | 12 + application/palemoon/base/jar.mn | 130 + application/palemoon/base/moz.build | 20 + application/palemoon/branding/official/LICENSE | 4 + .../branding/official/VisualElements_150.png | Bin 0 -> 33851 bytes .../branding/official/VisualElements_70.png | Bin 0 -> 9272 bytes application/palemoon/branding/official/appname.bmp | Bin 0 -> 35690 bytes .../palemoon/branding/official/branding.nsi | 49 + .../palemoon/branding/official/configure.sh | 6 + .../branding/official/content/about-background.png | Bin 0 -> 151947 bytes .../branding/official/content/about-logo.png | Bin 0 -> 47114 bytes .../branding/official/content/about-logo@2x.png | Bin 0 -> 171175 bytes .../branding/official/content/about-wordmark.png | Bin 0 -> 2197 bytes .../branding/official/content/about-wordmark.svg | 132 + .../palemoon/branding/official/content/about.png | Bin 0 -> 64588 bytes .../branding/official/content/aboutDialog.css | 43 + .../palemoon/branding/official/content/icon48.png | Bin 0 -> 4390 bytes .../palemoon/branding/official/content/icon64.png | Bin 0 -> 6928 bytes .../palemoon/branding/official/content/jar.mn | 16 + .../palemoon/branding/official/content/moz.build | 8 + .../palemoon/branding/official/default16.png | Bin 0 -> 881 bytes .../palemoon/branding/official/default22.png | Bin 0 -> 1324 bytes .../palemoon/branding/official/default24.png | Bin 0 -> 1493 bytes .../palemoon/branding/official/default256.png | Bin 0 -> 80380 bytes .../palemoon/branding/official/default32.png | Bin 0 -> 2325 bytes .../palemoon/branding/official/default48.png | Bin 0 -> 4425 bytes application/palemoon/branding/official/disk.icns | Bin 0 -> 184077 bytes application/palemoon/branding/official/disk.ico | Bin 0 -> 77586 bytes .../palemoon/branding/official/document.icns | Bin 0 -> 132198 bytes .../palemoon/branding/official/document.ico | Bin 0 -> 55494 bytes application/palemoon/branding/official/dsstore | Bin 0 -> 12292 bytes .../palemoon/branding/official/firefox.icns | Bin 0 -> 286658 bytes application/palemoon/branding/official/firefox.ico | Bin 0 -> 105959 bytes .../branding/official/locales/en-US/brand.dtd | 4 + .../official/locales/en-US/brand.properties | 11 + .../palemoon/branding/official/locales/jar.mn | 11 + .../palemoon/branding/official/locales/moz.build | 8 + application/palemoon/branding/official/moz.build | 7 + .../palemoon/branding/official/mozicon128.png | Bin 0 -> 23032 bytes .../official/palemoon.VisualElementsManifest.xml | 8 + .../palemoon/branding/official/palemoon.desktop | 352 + .../branding/official/pref/palemoon-branding.js | 33 + .../palemoon/branding/official/wizHeader.bmp | Bin 0 -> 25818 bytes .../palemoon/branding/official/wizHeaderRTL.bmp | Bin 0 -> 25818 bytes .../palemoon/branding/official/wizWatermark.bmp | Bin 0 -> 154542 bytes .../palemoon/branding/shared/background.png | Bin 0 -> 115 bytes .../palemoon/branding/shared/branding.mozbuild | 55 + .../shared/locales/browserconfig.properties | 7 + application/palemoon/branding/shared/newtab.ico | Bin 0 -> 1150 bytes application/palemoon/branding/shared/newwindow.ico | Bin 0 -> 1150 bytes application/palemoon/branding/shared/pbmode.ico | Bin 0 -> 1150 bytes .../palemoon/branding/shared/pref/preferences.inc | 121 + .../palemoon/branding/shared/pref/uaoverrides.inc | 79 + .../branding/unofficial/VisualElements_150.png | Bin 0 -> 19030 bytes .../branding/unofficial/VisualElements_70.png | Bin 0 -> 5861 bytes .../palemoon/branding/unofficial/appname.bmp | Bin 0 -> 11158 bytes .../palemoon/branding/unofficial/branding.nsi | 40 + .../palemoon/branding/unofficial/configure.sh | 5 + .../unofficial/content/about-background.png | Bin 0 -> 67058 bytes .../branding/unofficial/content/about-logo.png | Bin 0 -> 15708 bytes .../branding/unofficial/content/about-logo@2x.png | Bin 0 -> 49779 bytes .../branding/unofficial/content/about-wordmark.png | Bin 0 -> 251 bytes .../branding/unofficial/content/about-wordmark.svg | 8 + .../palemoon/branding/unofficial/content/about.png | Bin 0 -> 13027 bytes .../branding/unofficial/content/aboutDialog.css | 24 + .../branding/unofficial/content/icon48.png | Bin 0 -> 2145 bytes .../branding/unofficial/content/icon64.png | Bin 0 -> 3025 bytes .../palemoon/branding/unofficial/content/jar.mn | 16 + .../palemoon/branding/unofficial/content/moz.build | 8 + .../palemoon/branding/unofficial/default16.png | Bin 0 -> 693 bytes .../palemoon/branding/unofficial/default32.png | Bin 0 -> 1624 bytes .../palemoon/branding/unofficial/default48.png | Bin 0 -> 2771 bytes application/palemoon/branding/unofficial/disk.icns | Bin 0 -> 39250 bytes .../palemoon/branding/unofficial/document.icns | Bin 0 -> 12451 bytes .../palemoon/branding/unofficial/document.ico | Bin 0 -> 22486 bytes application/palemoon/branding/unofficial/dsstore | Bin 0 -> 6148 bytes .../palemoon/branding/unofficial/firefox.icns | Bin 0 -> 12079 bytes .../palemoon/branding/unofficial/firefox.ico | Bin 0 -> 22486 bytes .../branding/unofficial/locales/en-US/brand.dtd | 8 + .../unofficial/locales/en-US/brand.properties | 9 + .../palemoon/branding/unofficial/locales/jar.mn | 12 + .../palemoon/branding/unofficial/locales/moz.build | 9 + application/palemoon/branding/unofficial/moz.build | 7 + .../palemoon/branding/unofficial/mozicon128.png | Bin 0 -> 11024 bytes .../unofficial/palemoon.VisualElementsManifest.xml | 8 + .../branding/unofficial/pref/palemoon-branding.js | 11 + .../palemoon/branding/unofficial/wizHeader.bmp | Bin 0 -> 25818 bytes .../palemoon/branding/unofficial/wizHeaderRTL.bmp | Bin 0 -> 25818 bytes .../palemoon/branding/unofficial/wizWatermark.bmp | Bin 0 -> 154542 bytes .../branding/unstable/VisualElements_150.png | Bin 0 -> 34257 bytes .../branding/unstable/VisualElements_70.png | Bin 0 -> 9508 bytes application/palemoon/branding/unstable/appname.bmp | Bin 0 -> 11158 bytes .../palemoon/branding/unstable/branding.nsi | 46 + .../palemoon/branding/unstable/configure.sh | 6 + .../branding/unstable/content/about-background.png | Bin 0 -> 330757 bytes .../branding/unstable/content/about-logo.png | Bin 0 -> 42470 bytes .../branding/unstable/content/about-logo@2x.png | Bin 0 -> 120348 bytes .../branding/unstable/content/about-wordmark.png | Bin 0 -> 2197 bytes .../branding/unstable/content/about-wordmark.svg | 8 + .../palemoon/branding/unstable/content/about.png | Bin 0 -> 55384 bytes .../branding/unstable/content/aboutDialog.css | 47 + .../palemoon/branding/unstable/content/icon48.png | Bin 0 -> 4855 bytes .../palemoon/branding/unstable/content/icon64.png | Bin 0 -> 6531 bytes .../palemoon/branding/unstable/content/jar.mn | 16 + .../palemoon/branding/unstable/content/moz.build | 8 + .../palemoon/branding/unstable/default16.png | Bin 0 -> 872 bytes .../palemoon/branding/unstable/default32.png | Bin 0 -> 2499 bytes .../palemoon/branding/unstable/default48.png | Bin 0 -> 4855 bytes application/palemoon/branding/unstable/disk.icns | Bin 0 -> 39250 bytes .../palemoon/branding/unstable/document.icns | Bin 0 -> 12451 bytes .../palemoon/branding/unstable/document.ico | Bin 0 -> 19790 bytes application/palemoon/branding/unstable/dsstore | Bin 0 -> 6148 bytes .../palemoon/branding/unstable/firefox.icns | Bin 0 -> 12079 bytes application/palemoon/branding/unstable/firefox.ico | Bin 0 -> 100371 bytes .../branding/unstable/locales/en-US/brand.dtd | 4 + .../unstable/locales/en-US/brand.properties | 11 + .../palemoon/branding/unstable/locales/jar.mn | 12 + .../palemoon/branding/unstable/locales/moz.build | 9 + application/palemoon/branding/unstable/moz.build | 7 + .../palemoon/branding/unstable/mozicon128.png | Bin 0 -> 24891 bytes .../unstable/palemoon.VisualElementsManifest.xml | 8 + .../branding/unstable/pref/palemoon-branding.js | 36 + .../palemoon/branding/unstable/wizHeader.bmp | Bin 0 -> 25818 bytes .../palemoon/branding/unstable/wizHeaderRTL.bmp | Bin 0 -> 25818 bytes .../palemoon/branding/unstable/wizWatermark.bmp | Bin 0 -> 154542 bytes application/palemoon/build.mk | 57 + .../palemoon/components/BrowserComponents.manifest | 46 + .../palemoon/components/about/AboutRedirector.cpp | 188 + .../palemoon/components/about/AboutRedirector.h | 32 + application/palemoon/components/about/moz.build | 19 + application/palemoon/components/build/Makefile.in | 8 + application/palemoon/components/build/moz.build | 36 + .../palemoon/components/build/nsBrowserCompsCID.h | 43 + application/palemoon/components/build/nsModule.cpp | 126 + .../certerror/content/aboutCertError.css | 17 + .../certerror/content/aboutCertError.xhtml | 247 + application/palemoon/components/certerror/jar.mn | 7 + .../palemoon/components/certerror/moz.build | 8 + .../components/dirprovider/DirectoryProvider.cpp | 318 + .../components/dirprovider/DirectoryProvider.h | 51 + .../palemoon/components/dirprovider/moz.build | 19 + application/palemoon/components/distribution.js | 355 + .../components/downloads/BrowserDownloads.manifest | 4 + .../components/downloads/DownloadsCommon.jsm | 2401 +++++++ .../components/downloads/DownloadsLogger.jsm | 76 + .../components/downloads/DownloadsStartup.js | 278 + .../components/downloads/DownloadsTaskbar.jsm | 177 + .../palemoon/components/downloads/DownloadsUI.js | 151 + .../downloads/content/allDownloadsViewOverlay.css | 56 + .../downloads/content/allDownloadsViewOverlay.js | 1609 +++++ .../downloads/content/allDownloadsViewOverlay.xul | 119 + .../downloads/content/contentAreaDownloadsView.css | 11 + .../downloads/content/contentAreaDownloadsView.js | 15 + .../downloads/content/contentAreaDownloadsView.xul | 45 + .../components/downloads/content/download.css | 45 + .../components/downloads/content/download.xml | 188 + .../components/downloads/content/downloads.css | 132 + .../components/downloads/content/downloads.js | 1813 +++++ .../downloads/content/downloadsOverlay.xul | 142 + .../components/downloads/content/indicator.js | 594 ++ .../downloads/content/indicatorOverlay.xul | 60 + application/palemoon/components/downloads/jar.mn | 18 + .../palemoon/components/downloads/moz.build | 19 + .../components/feeds/BrowserFeeds.manifest | 28 + .../palemoon/components/feeds/FeedConverter.js | 591 ++ .../palemoon/components/feeds/FeedWriter.js | 1421 ++++ .../components/feeds/WebContentConverter.js | 932 +++ .../components/feeds/content/subscribe.css | 7 + .../palemoon/components/feeds/content/subscribe.js | 23 + .../components/feeds/content/subscribe.xhtml | 65 + .../components/feeds/content/subscribe.xml | 40 + application/palemoon/components/feeds/jar.mn | 9 + application/palemoon/components/feeds/moz.build | 39 + .../palemoon/components/feeds/nsFeedSniffer.cpp | 363 + .../palemoon/components/feeds/nsFeedSniffer.h | 37 + .../components/feeds/nsIFeedResultService.idl | 66 + .../feeds/nsIWebContentConverterRegistrar.idl | 117 + .../palemoon/components/fuel/fuelApplication.js | 818 +++ .../components/fuel/fuelApplication.manifest | 3 + .../palemoon/components/fuel/fuelIApplication.idl | 347 + application/palemoon/components/fuel/moz.build | 20 + .../migration/BrowserProfileMigrators.manifest | 14 + .../components/migration/ChromeProfileMigrator.js | 463 ++ .../components/migration/FirefoxProfileMigrator.js | 117 + .../components/migration/IEProfileMigrator.js | 521 ++ .../components/migration/MigrationUtils.jsm | 644 ++ .../components/migration/ProfileMigrator.js | 21 + .../components/migration/SafariProfileMigrator.js | 416 ++ .../components/migration/content/migration.js | 474 ++ .../components/migration/content/migration.xul | 96 + application/palemoon/components/migration/jar.mn | 7 + .../palemoon/components/migration/moz.build | 53 + .../migration/nsIBrowserProfileMigrator.idl | 63 + .../components/migration/nsIEHistoryEnumerator.cpp | 139 + .../components/migration/nsIEHistoryEnumerator.h | 37 + application/palemoon/components/moz.build | 44 + .../palemoon/components/nsBrowserContentHandler.js | 812 +++ application/palemoon/components/nsBrowserGlue.js | 1961 ++++++ application/palemoon/components/nsIBrowserGlue.idl | 47 + .../palemoon/components/nsIBrowserHandler.idl | 20 + .../components/places/BrowserPlaces.manifest | 2 + .../components/places/PlacesProtocolHandler.js | 49 + .../palemoon/components/places/PlacesUIUtils.jsm | 1337 ++++ .../places/content/bookmarkProperties.js | 658 ++ .../places/content/bookmarkProperties.xul | 43 + .../components/places/content/bookmarksPanel.js | 25 + .../components/places/content/bookmarksPanel.xul | 55 + .../places/content/browserPlacesViews.js | 1744 +++++ .../components/places/content/controller.js | 1895 ++++++ .../places/content/downloadsViewOverlay.xul | 47 + .../places/content/editBookmarkOverlay.js | 1039 +++ .../places/content/editBookmarkOverlay.xul | 228 + .../components/places/content/history-panel.js | 91 + .../components/places/content/history-panel.xul | 95 + .../palemoon/components/places/content/menu.xml | 488 ++ .../components/places/content/moveBookmarks.js | 54 + .../components/places/content/moveBookmarks.xul | 53 + .../components/places/content/organizer.css | 7 + .../palemoon/components/places/content/places.css | 16 + .../palemoon/components/places/content/places.js | 1562 +++++ .../palemoon/components/places/content/places.xul | 478 ++ .../components/places/content/placesOverlay.xul | 248 + .../components/places/content/sidebarUtils.js | 108 + .../palemoon/components/places/content/tree.xml | 789 +++ .../palemoon/components/places/content/treeView.js | 1765 +++++ application/palemoon/components/places/jar.mn | 34 + application/palemoon/components/places/moz.build | 14 + .../components/preferences/aboutPermissions.css | 11 + .../components/preferences/aboutPermissions.js | 1348 ++++ .../components/preferences/aboutPermissions.xml | 113 + .../components/preferences/aboutPermissions.xul | 397 ++ .../palemoon/components/preferences/advanced.js | 754 +++ .../palemoon/components/preferences/advanced.xul | 458 ++ .../components/preferences/applicationManager.js | 102 + .../components/preferences/applicationManager.xul | 59 + .../components/preferences/applications.js | 1891 ++++++ .../components/preferences/applications.xul | 99 + .../palemoon/components/preferences/colors.xul | 102 + .../palemoon/components/preferences/connection.js | 200 + .../palemoon/components/preferences/connection.xul | 164 + .../palemoon/components/preferences/content.js | 209 + .../palemoon/components/preferences/content.xul | 176 + .../palemoon/components/preferences/cookies.js | 914 +++ .../palemoon/components/preferences/cookies.xul | 113 + .../palemoon/components/preferences/fonts.js | 144 + .../palemoon/components/preferences/fonts.xul | 279 + .../palemoon/components/preferences/handlers.css | 25 + .../palemoon/components/preferences/handlers.xml | 81 + application/palemoon/components/preferences/jar.mn | 47 + .../palemoon/components/preferences/languages.js | 304 + .../palemoon/components/preferences/languages.xul | 98 + .../palemoon/components/preferences/main.js | 473 ++ .../palemoon/components/preferences/main.xul | 187 + .../palemoon/components/preferences/moz.build | 14 + .../palemoon/components/preferences/permissions.js | 361 + .../components/preferences/permissions.xul | 83 + .../components/preferences/preferences.xul | 92 + .../palemoon/components/preferences/privacy.js | 551 ++ .../palemoon/components/preferences/privacy.xul | 285 + .../palemoon/components/preferences/sanitize.js | 12 + .../palemoon/components/preferences/sanitize.xul | 108 + .../palemoon/components/preferences/security.js | 268 + .../palemoon/components/preferences/security.xul | 165 + .../components/preferences/selectBookmark.js | 83 + .../components/preferences/selectBookmark.xul | 44 + .../palemoon/components/preferences/sync.js | 192 + .../palemoon/components/preferences/sync.xul | 178 + .../palemoon/components/preferences/tabs.js | 142 + .../palemoon/components/preferences/tabs.xul | 101 + .../content/aboutPrivateBrowsing.xhtml | 156 + .../palemoon/components/privatebrowsing/jar.mn | 6 + .../palemoon/components/privatebrowsing/moz.build | 7 + .../components/search/content/engineManager.js | 491 ++ .../components/search/content/engineManager.xul | 93 + .../palemoon/components/search/content/search.xml | 842 +++ .../search/content/searchbarBindings.css | 13 + application/palemoon/components/search/jar.mn | 9 + application/palemoon/components/search/moz.build | 8 + .../components/sessionstore/DocumentUtils.jsm | 230 + .../components/sessionstore/SessionStorage.jsm | 165 + .../components/sessionstore/SessionStore.jsm | 4733 +++++++++++++ .../components/sessionstore/XPathGenerator.jsm | 97 + .../components/sessionstore/_SessionFile.jsm | 311 + .../sessionstore/content/aboutSessionRestore.js | 317 + .../sessionstore/content/aboutSessionRestore.xhtml | 94 + .../sessionstore/content/content-sessionStore.js | 40 + .../palemoon/components/sessionstore/jar.mn | 8 + .../palemoon/components/sessionstore/moz.build | 31 + .../components/sessionstore/nsISessionStartup.idl | 59 + .../components/sessionstore/nsISessionStore.idl | 206 + .../components/sessionstore/nsSessionStartup.js | 291 + .../components/sessionstore/nsSessionStore.js | 37 + .../sessionstore/nsSessionStore.manifest | 18 + application/palemoon/components/shell/Makefile.in | 11 + .../shell/content/setDesktopBackground.js | 213 + .../shell/content/setDesktopBackground.xul | 84 + application/palemoon/components/shell/jar.mn | 7 + application/palemoon/components/shell/moz.build | 48 + .../components/shell/nsGNOMEShellService.cpp | 664 ++ .../components/shell/nsGNOMEShellService.h | 36 + .../components/shell/nsIMacShellService.idl | 15 + .../palemoon/components/shell/nsIShellService.idl | 112 + .../components/shell/nsIWindowsShellService.idl | 17 + .../components/shell/nsMacShellService.cpp | 470 ++ .../palemoon/components/shell/nsMacShellService.h | 34 + .../components/shell/nsSetDefaultBrowser.js | 31 + .../components/shell/nsSetDefaultBrowser.manifest | 3 + .../palemoon/components/shell/nsShellService.h | 10 + .../components/shell/nsWindowsShellService.cpp | 1198 ++++ .../components/shell/nsWindowsShellService.h | 37 + .../palemoon/components/statusbar/Downloads.jsm | 674 ++ .../palemoon/components/statusbar/Progress.jsm | 183 + .../palemoon/components/statusbar/Status.jsm | 464 ++ .../palemoon/components/statusbar/Status4Evar.jsm | 279 + .../palemoon/components/statusbar/Toolbars.jsm | 221 + .../components/statusbar/content/overlay.css | 15 + .../components/statusbar/content/overlay.js | 16 + .../components/statusbar/content/overlay.xul | 82 + .../components/statusbar/content/prefs.css | 11 + .../palemoon/components/statusbar/content/prefs.js | 274 + .../components/statusbar/content/prefs.xml | 704 ++ .../components/statusbar/content/prefs.xul | 297 + .../components/statusbar/content/tabbrowser.xml | 218 + application/palemoon/components/statusbar/jar.mn | 15 + .../palemoon/components/statusbar/moz.build | 24 + .../palemoon/components/statusbar/status4evar.idl | 57 + .../palemoon/components/statusbar/status4evar.js | 695 ++ .../components/statusbar/status4evar.manifest | 3 + application/palemoon/config/mozconfig | 9 + application/palemoon/config/mozconfigs/common | 7 + .../palemoon/config/mozconfigs/linux32/beta | 7 + .../palemoon/config/mozconfigs/linux32/common-opt | 19 + .../palemoon/config/mozconfigs/linux32/debug | 22 + .../palemoon/config/mozconfigs/linux32/debug-asan | 20 + .../config/mozconfigs/linux32/l10n-mozconfig | 12 + .../palemoon/config/mozconfigs/linux32/release | 13 + .../palemoon/config/mozconfigs/linux32/valgrind | 11 + .../palemoon/config/mozconfigs/linux64/beta | 7 + .../palemoon/config/mozconfigs/linux64/common-opt | 19 + .../palemoon/config/mozconfigs/linux64/debug | 22 + .../palemoon/config/mozconfigs/linux64/debug-asan | 20 + .../mozconfigs/linux64/debug-static-analysis-clang | 15 + .../config/mozconfigs/linux64/l10n-mozconfig | 12 + .../palemoon/config/mozconfigs/linux64/release | 13 + .../palemoon/config/mozconfigs/linux64/valgrind | 11 + .../config/mozconfigs/macosx-universal/beta | 5 + .../config/mozconfigs/macosx-universal/common-opt | 19 + .../mozconfigs/macosx-universal/l10n-mozconfig | 11 + .../config/mozconfigs/macosx-universal/release | 11 + .../palemoon/config/mozconfigs/macosx64/debug | 19 + .../palemoon/config/mozconfigs/macosx64/debug-asan | 16 + .../config/mozconfigs/macosx64/l10n-mozconfig | 8 + application/palemoon/config/mozconfigs/win32/beta | 7 + .../palemoon/config/mozconfigs/win32/common-opt | 33 + application/palemoon/config/mozconfigs/win32/debug | 26 + .../config/mozconfigs/win32/l10n-mozconfig | 16 + .../palemoon/config/mozconfigs/win32/release | 13 + application/palemoon/config/mozconfigs/win64/debug | 22 + .../palemoon/config/mozconfigs/win64/nightly | 26 + .../tooltool-manifests/linux32/clang.manifest | 17 + .../tooltool-manifests/linux32/releng.manifest | 1 + .../tooltool-manifests/linux64/clang.manifest | 17 + .../tooltool-manifests/linux64/releng.manifest | 1 + .../tooltool-manifests/macosx64/releng.manifest | 17 + application/palemoon/config/version.txt | 1 + application/palemoon/configure.in | 24 + application/palemoon/confvars.sh | 56 + application/palemoon/defs.mk | 1 + application/palemoon/installer/Makefile.in | 192 + application/palemoon/installer/moz.build | 6 + application/palemoon/installer/package-manifest.in | 836 +++ application/palemoon/installer/removed-files.in | 117 + application/palemoon/installer/windows/Makefile.in | 82 + application/palemoon/installer/windows/app.tag | 4 + application/palemoon/installer/windows/moz.build | 6 + .../palemoon/installer/windows/nsis/defines.nsi.in | 69 + .../palemoon/installer/windows/nsis/installer.nsi | 1030 +++ .../palemoon/installer/windows/nsis/shared.nsh | 1314 ++++ .../installer/windows/nsis/uninstaller.nsi | 617 ++ .../installer/windows/nsis/updater_append.ini | 12 + application/palemoon/installer/windows/stub.tag | 4 + application/palemoon/locales/Makefile.in | 221 + application/palemoon/locales/all-locales | 97 + .../en-US/chrome/browser-region/region.properties | 42 + .../en-US/chrome/browser/aboutCertError.dtd | 40 + .../locales/en-US/chrome/browser/aboutDialog.dtd | 91 + .../locales/en-US/chrome/browser/aboutHome.dtd | 22 + .../en-US/chrome/browser/aboutPrivateBrowsing.dtd | 21 + .../locales/en-US/chrome/browser/aboutRobots.dtd | 29 + .../en-US/chrome/browser/aboutSessionRestore.dtd | 23 + .../locales/en-US/chrome/browser/aboutSyncTabs.dtd | 21 + .../en-US/chrome/browser/baseMenuOverlay.dtd | 42 + .../locales/en-US/chrome/browser/browser.dtd | 659 ++ .../en-US/chrome/browser/browser.properties | 425 ++ .../locales/en-US/chrome/browser/charsetMenu.dtd | 18 + .../en-US/chrome/browser/charsetMenu.properties | 103 + .../en-US/chrome/browser/charsetOverlay.dtd | 23 + .../en-US/chrome/browser/downloads/downloads.dtd | 96 + .../chrome/browser/downloads/downloads.properties | 79 + .../locales/en-US/chrome/browser/engineManager.dtd | 29 + .../en-US/chrome/browser/engineManager.properties | 9 + .../en-US/chrome/browser/feeds/subscribe.dtd | 10 + .../chrome/browser/feeds/subscribe.properties | 53 + .../en-US/chrome/browser/migration/migration.dtd | 36 + .../chrome/browser/migration/migration.properties | 51 + .../locales/en-US/chrome/browser/newTab.dtd | 10 + .../locales/en-US/chrome/browser/newTab.properties | 9 + .../locales/en-US/chrome/browser/openLocation.dtd | 14 + .../en-US/chrome/browser/openLocation.properties | 5 + .../locales/en-US/chrome/browser/pageInfo.dtd | 98 + .../en-US/chrome/browser/pageInfo.properties | 56 + .../browser/places/bookmarkProperties.properties | 19 + .../chrome/browser/places/editBookmarkOverlay.dtd | 28 + .../en-US/chrome/browser/places/moveBookmarks.dtd | 9 + .../locales/en-US/chrome/browser/places/places.dtd | 142 + .../en-US/chrome/browser/places/places.properties | 95 + .../browser/preferences/aboutPermissions.dtd | 56 + .../preferences/aboutPermissions.properties | 14 + .../en-US/chrome/browser/preferences/advanced.dtd | 146 + .../browser/preferences/applicationManager.dtd | 8 + .../preferences/applicationManager.properties | 14 + .../chrome/browser/preferences/applications.dtd | 14 + .../en-US/chrome/browser/preferences/colors.dtd | 30 + .../chrome/browser/preferences/connection.dtd | 49 + .../en-US/chrome/browser/preferences/content.dtd | 43 + .../en-US/chrome/browser/preferences/cookies.dtd | 32 + .../en-US/chrome/browser/preferences/fonts.dtd | 107 + .../en-US/chrome/browser/preferences/languages.dtd | 19 + .../en-US/chrome/browser/preferences/main.dtd | 44 + .../chrome/browser/preferences/permissions.dtd | 26 + .../chrome/browser/preferences/preferences.dtd | 23 + .../browser/preferences/preferences.properties | 137 + .../en-US/chrome/browser/preferences/privacy.dtd | 87 + .../en-US/chrome/browser/preferences/security.dtd | 45 + .../chrome/browser/preferences/selectBookmark.dtd | 9 + .../en-US/chrome/browser/preferences/sync.dtd | 47 + .../en-US/chrome/browser/preferences/tabs.dtd | 36 + .../en-US/chrome/browser/quitDialog.properties | 13 + .../locales/en-US/chrome/browser/safeMode.dtd | 27 + .../locales/en-US/chrome/browser/sanitize.dtd | 64 + .../locales/en-US/chrome/browser/search.properties | 18 + .../locales/en-US/chrome/browser/searchbar.dtd | 6 + .../en-US/chrome/browser/setDesktopBackground.dtd | 15 + .../en-US/chrome/browser/shellservice.properties | 13 + .../en-US/chrome/browser/statusbar/meta.properties | 9 + .../chrome/browser/statusbar/overlay.properties | 17 + .../chrome/browser/statusbar/prefs.properties | 4 + .../chrome/browser/statusbar/statusbar-overlay.dtd | 10 + .../chrome/browser/statusbar/statusbar-prefs.dtd | 99 + .../locales/en-US/chrome/browser/syncBrand.dtd | 6 + .../chrome/browser/syncGenericChange.properties | 37 + .../locales/en-US/chrome/browser/syncKey.dtd | 18 + .../locales/en-US/chrome/browser/syncProgress.dtd | 15 + .../locales/en-US/chrome/browser/syncQuota.dtd | 8 + .../en-US/chrome/browser/syncQuota.properties | 42 + .../locales/en-US/chrome/browser/syncSetup.dtd | 116 + .../en-US/chrome/browser/syncSetup.properties | 51 + .../locales/en-US/chrome/browser/tabbrowser.dtd | 6 + .../en-US/chrome/browser/tabbrowser.properties | 26 + .../en-US/chrome/browser/taskbar.properties | 12 + .../en-US/chrome/overrides/appstrings.properties | 39 + .../locales/en-US/chrome/overrides/netError.dtd | 223 + .../en-US/chrome/overrides/settingsChange.dtd | 7 + .../en-US/crashreporter/crashreporter-override.ini | 9 + application/palemoon/locales/en-US/defines.inc | 12 + .../locales/en-US/installer/custom.properties | 83 + .../locales/en-US/installer/mui.properties | 61 + .../locales/en-US/installer/nsisstrings.properties | 64 + .../locales/en-US/installer/override.properties | 86 + .../palemoon/locales/en-US/palemoon-l10n.js | 7 + .../locales/en-US/pdfviewer/chrome.properties | 18 + .../locales/en-US/pdfviewer/viewer.properties | 124 + .../palemoon/locales/en-US/profile/bookmarks.inc | 40 + .../en-US/profile/chrome/userChrome-example.css | 50 + .../en-US/profile/chrome/userContent-example.css | 32 + .../locales/en-US/searchplugins/amazondotcom.xml | 15 + .../locales/en-US/searchplugins/answers.xml | 16 + .../palemoon/locales/en-US/searchplugins/bing.xml | 18 + .../en-US/searchplugins/creativecommons.xml | 14 + .../en-US/searchplugins/duckduckgo-palemoon.xml | 16 + .../palemoon/locales/en-US/searchplugins/eBay.xml | 19 + .../locales/en-US/searchplugins/ecosia.xml | 12 + .../palemoon/locales/en-US/searchplugins/list.txt | 6 + .../locales/en-US/searchplugins/twitter.xml | 15 + .../locales/en-US/searchplugins/wikipedia.xml | 18 + .../palemoon/locales/en-US/searchplugins/yahoo.xml | 17 + .../palemoon/locales/en-US/updater/updater.ini | 10 + application/palemoon/locales/filter.py | 37 + .../palemoon/locales/generic/extract-bookmarks.py | 62 + application/palemoon/locales/generic/install.rdf | 30 + .../locales/generic/profile/bookmarks.html.in | 19 + .../locales/generic/profile/localstore.rdf | 9 + .../palemoon/locales/generic/profile/mimeTypes.rdf | 17 + application/palemoon/locales/jar.mn | 102 + application/palemoon/locales/l10n.ini | 22 + application/palemoon/locales/moz.build | 7 + application/palemoon/locales/shipped-locales | 90 + application/palemoon/modules/AboutHomeUtils.jsm | 67 + .../palemoon/modules/BrowserNewTabPreloader.jsm | 436 ++ application/palemoon/modules/CharsetMenu.jsm | 160 + .../palemoon/modules/FormSubmitObserver.jsm | 251 + .../palemoon/modules/FormValidationHandler.jsm | 157 + .../palemoon/modules/NetworkPrioritizer.jsm | 179 + application/palemoon/modules/PageMenu.jsm | 238 + .../palemoon/modules/PopupNotifications.jsm | 843 +++ application/palemoon/modules/QuotaManager.jsm | 45 + application/palemoon/modules/RecentWindow.jsm | 68 + application/palemoon/modules/SharedFrame.jsm | 221 + .../palemoon/modules/Windows8WindowFrameColor.jsm | 53 + application/palemoon/modules/WindowsJumpLists.jsm | 581 ++ .../palemoon/modules/WindowsPreviewPerTab.jsm | 708 ++ application/palemoon/modules/moz.build | 39 + application/palemoon/modules/offlineAppCache.jsm | 20 + .../palemoon/modules/openLocationLastURL.jsm | 85 + application/palemoon/modules/promise.js | 118 + application/palemoon/modules/webrtcUI.jsm | 272 + application/palemoon/moz.build | 25 + application/palemoon/themes/LICENSE | 2 + .../palemoon/themes/linux/Geolocation-16.png | Bin 0 -> 606 bytes .../palemoon/themes/linux/Geolocation-64.png | Bin 0 -> 8056 bytes application/palemoon/themes/linux/Go-arrow.png | Bin 0 -> 573 bytes application/palemoon/themes/linux/Info.png | Bin 0 -> 767 bytes application/palemoon/themes/linux/KUI-close.png | Bin 0 -> 393 bytes application/palemoon/themes/linux/Makefile.in | 8 + application/palemoon/themes/linux/Privacy-16.png | Bin 0 -> 822 bytes application/palemoon/themes/linux/Privacy-32.png | Bin 0 -> 2085 bytes application/palemoon/themes/linux/Privacy-48.png | Bin 0 -> 3422 bytes application/palemoon/themes/linux/Privacy-64.png | Bin 0 -> 4828 bytes application/palemoon/themes/linux/Secure.png | Bin 0 -> 865 bytes .../palemoon/themes/linux/Security-broken.png | Bin 0 -> 928 bytes .../palemoon/themes/linux/Toolbar-small.png | Bin 0 -> 5429 bytes application/palemoon/themes/linux/Toolbar.png | Bin 0 -> 8925 bytes .../palemoon/themes/linux/aboutCertError.css | 73 + .../linux/aboutCertError_sectionCollapsed-rtl.png | Bin 0 -> 791 bytes .../linux/aboutCertError_sectionCollapsed.png | Bin 0 -> 776 bytes .../linux/aboutCertError_sectionExpanded.png | Bin 0 -> 767 bytes .../palemoon/themes/linux/aboutPrivateBrowsing.css | 47 + .../linux/aboutSessionRestore-window-icon.png | Bin 0 -> 405 bytes .../palemoon/themes/linux/aboutSessionRestore.css | 90 + .../palemoon/themes/linux/aboutSyncTabs.css | 101 + .../palemoon/themes/linux/actionicon-tab.png | Bin 0 -> 236 bytes application/palemoon/themes/linux/browser.css | 2131 ++++++ .../themes/linux/click-to-play-warning-stripes.png | Bin 0 -> 1563 bytes .../themes/linux/communicator/communicator.css | 6 + .../palemoon/themes/linux/communicator/jar.mn | 7 + .../palemoon/themes/linux/communicator/moz.build | 7 + .../linux/downloads/allDownloadsViewOverlay.css | 125 + .../palemoon/themes/linux/downloads/buttons.png | Bin 0 -> 5091 bytes .../linux/downloads/contentAreaDownloadsView.css | 11 + .../themes/linux/downloads/download-glow-small.png | Bin 0 -> 556 bytes .../themes/linux/downloads/download-glow.png | Bin 0 -> 723 bytes .../downloads/download-notification-finish.png | Bin 0 -> 3626 bytes .../downloads/download-notification-start.png | Bin 0 -> 3166 bytes .../themes/linux/downloads/download-summary.png | Bin 0 -> 691 bytes .../palemoon/themes/linux/downloads/downloads.css | 376 + .../palemoon/themes/linux/engineManager.css | 16 + .../palemoon/themes/linux/feeds/feedIcon.png | Bin 0 -> 1794 bytes .../palemoon/themes/linux/feeds/feedIcon16.png | Bin 0 -> 799 bytes .../palemoon/themes/linux/feeds/subscribe-ui.css | 29 + .../palemoon/themes/linux/feeds/subscribe.css | 163 + application/palemoon/themes/linux/icon.png | Bin 0 -> 2185 bytes .../themes/linux/identity-icons-generic.png | Bin 0 -> 965 bytes .../themes/linux/identity-icons-https-ev.png | Bin 0 -> 708 bytes .../linux/identity-icons-https-mixed-active.png | Bin 0 -> 984 bytes .../palemoon/themes/linux/identity-icons-https.png | Bin 0 -> 672 bytes application/palemoon/themes/linux/identity.png | Bin 0 -> 9690 bytes .../palemoon/themes/linux/imagedocument.png | Bin 0 -> 2185 bytes application/palemoon/themes/linux/jar.mn | 141 + .../themes/linux/mixed-content-blocked-16.png | Bin 0 -> 346 bytes .../themes/linux/mixed-content-blocked-64.png | Bin 0 -> 2063 bytes application/palemoon/themes/linux/monitor.png | Bin 0 -> 6217 bytes .../palemoon/themes/linux/monitor_16-10.png | Bin 0 -> 6787 bytes application/palemoon/themes/linux/moz.build | 9 + .../palemoon/themes/linux/newtab/controls.png | Bin 0 -> 4180 bytes .../palemoon/themes/linux/newtab/newTab.css | 187 + application/palemoon/themes/linux/newtab/noise.png | Bin 0 -> 2118 bytes .../palemoon/themes/linux/notification-16.png | Bin 0 -> 610 bytes .../palemoon/themes/linux/notification-64.png | Bin 0 -> 3373 bytes .../palemoon/themes/linux/page-livemarks.png | Bin 0 -> 799 bytes application/palemoon/themes/linux/pageInfo.css | 276 + application/palemoon/themes/linux/pageInfo.png | Bin 0 -> 8849 bytes .../palemoon/themes/linux/places/bookmarksMenu.png | Bin 0 -> 461 bytes .../themes/linux/places/bookmarksToolbar.png | Bin 0 -> 508 bytes .../palemoon/themes/linux/places/calendar.png | Bin 0 -> 670 bytes .../palemoon/themes/linux/places/downloads.png | Bin 0 -> 599 bytes .../themes/linux/places/editBookmarkOverlay.css | 71 + .../palemoon/themes/linux/places/livemark-item.png | Bin 0 -> 863 bytes .../palemoon/themes/linux/places/organizer.css | 107 + .../palemoon/themes/linux/places/organizer.xml | 21 + .../palemoon/themes/linux/places/pageStarred.png | Bin 0 -> 767 bytes .../palemoon/themes/linux/places/places.css | 221 + application/palemoon/themes/linux/places/query.png | Bin 0 -> 678 bytes .../palemoon/themes/linux/places/star-icons.png | Bin 0 -> 1106 bytes .../palemoon/themes/linux/places/starPage.png | Bin 0 -> 723 bytes .../palemoon/themes/linux/places/starred48.png | Bin 0 -> 2658 bytes application/palemoon/themes/linux/places/tag.png | Bin 0 -> 877 bytes .../themes/linux/places/toolbarDropMarker.png | Bin 0 -> 583 bytes .../themes/linux/places/unsortedBookmarks.png | Bin 0 -> 748 bytes .../palemoon/themes/linux/places/unstarred48.png | Bin 0 -> 2255 bytes .../palemoon/themes/linux/pointerLock-16.png | Bin 0 -> 249 bytes .../palemoon/themes/linux/pointerLock-64.png | Bin 0 -> 1119 bytes .../themes/linux/preferences/Options-sync.png | Bin 0 -> 3585 bytes .../palemoon/themes/linux/preferences/Options.png | Bin 0 -> 12680 bytes .../themes/linux/preferences/aboutPermissions.css | 153 + .../themes/linux/preferences/alwaysAsk.png | Bin 0 -> 575 bytes .../themes/linux/preferences/applications.css | 66 + .../palemoon/themes/linux/preferences/mail.png | Bin 0 -> 548 bytes .../themes/linux/preferences/preferences.css | 156 + .../palemoon/themes/linux/privatebrowsing-mask.png | Bin 0 -> 1355 bytes .../palemoon/themes/linux/sanitizeDialog.css | 107 + application/palemoon/themes/linux/searchbar.css | 72 + .../palemoon/themes/linux/setDesktopBackground.css | 18 + .../palemoon/themes/linux/slowStartup-16.png | Bin 0 -> 478 bytes .../palemoon/themes/linux/statusbar/overlay.css | 114 + .../palemoon/themes/linux/statusbar/prefs.css | 8 + application/palemoon/themes/linux/sync-128.png | Bin 0 -> 20229 bytes .../palemoon/themes/linux/sync-16-throbber.png | Bin 0 -> 10365 bytes application/palemoon/themes/linux/sync-16.png | Bin 0 -> 1847 bytes .../palemoon/themes/linux/sync-24-throbber.png | Bin 0 -> 15774 bytes application/palemoon/themes/linux/sync-32.png | Bin 0 -> 3384 bytes application/palemoon/themes/linux/sync-bg.png | Bin 0 -> 21309 bytes .../palemoon/themes/linux/sync-desktopIcon.png | Bin 0 -> 291 bytes .../palemoon/themes/linux/sync-mobileIcon.png | Bin 0 -> 352 bytes .../palemoon/themes/linux/sync-notification-24.png | Bin 0 -> 1565 bytes application/palemoon/themes/linux/syncCommon.css | 49 + application/palemoon/themes/linux/syncProgress.css | 46 + application/palemoon/themes/linux/syncQuota.css | 26 + application/palemoon/themes/linux/syncSetup.css | 127 + .../palemoon/themes/linux/tabbrowser/alltabs.png | Bin 0 -> 192 bytes .../themes/linux/tabbrowser/connecting.png | Bin 0 -> 8540 bytes .../palemoon/themes/linux/tabbrowser/loading.png | Bin 0 -> 12184 bytes .../linux/tabbrowser/tab-overflow-border.png | Bin 0 -> 193 bytes .../palemoon/themes/linux/tabbrowser/tab.png | Bin 0 -> 353 bytes .../themes/linux/tabbrowser/tabDragIndicator.png | Bin 0 -> 450 bytes application/palemoon/themes/linux/urlbar-arrow.png | Bin 0 -> 305 bytes .../themes/linux/webRTC-shareDevice-16.png | Bin 0 -> 224 bytes .../themes/linux/webRTC-shareDevice-64.png | Bin 0 -> 1097 bytes .../themes/linux/webRTC-sharingDevice-16.png | Bin 0 -> 404 bytes application/palemoon/themes/linux/webapps-16.png | Bin 0 -> 475 bytes application/palemoon/themes/linux/webapps-64.png | Bin 0 -> 2942 bytes application/palemoon/themes/moz.build | 15 + application/palemoon/themes/osx/Geolocation-16.png | Bin 0 -> 704 bytes application/palemoon/themes/osx/Geolocation-64.png | Bin 0 -> 8424 bytes application/palemoon/themes/osx/Info.png | Bin 0 -> 641 bytes application/palemoon/themes/osx/KUI-background.png | Bin 0 -> 222 bytes application/palemoon/themes/osx/KUI-close.png | Bin 0 -> 393 bytes application/palemoon/themes/osx/Makefile.in | 7 + application/palemoon/themes/osx/Privacy-16.png | Bin 0 -> 800 bytes application/palemoon/themes/osx/Privacy-32.png | Bin 0 -> 1995 bytes application/palemoon/themes/osx/Privacy-48.png | Bin 0 -> 3884 bytes application/palemoon/themes/osx/Privacy-64.png | Bin 0 -> 8140 bytes application/palemoon/themes/osx/Search-glass.png | Bin 0 -> 1448 bytes application/palemoon/themes/osx/Secure24.png | Bin 0 -> 1098 bytes application/palemoon/themes/osx/Toolbar-glass.png | Bin 0 -> 18355 bytes .../palemoon/themes/osx/Toolbar-inverted.png | Bin 0 -> 4653 bytes application/palemoon/themes/osx/Toolbar.png | Bin 0 -> 15505 bytes application/palemoon/themes/osx/aboutCertError.css | 73 + .../osx/aboutCertError_sectionCollapsed-rtl.png | Bin 0 -> 791 bytes .../themes/osx/aboutCertError_sectionCollapsed.png | Bin 0 -> 776 bytes .../themes/osx/aboutCertError_sectionExpanded.png | Bin 0 -> 767 bytes .../palemoon/themes/osx/aboutPrivateBrowsing.css | 47 + .../palemoon/themes/osx/aboutSessionRestore.css | 73 + application/palemoon/themes/osx/aboutSyncTabs.css | 101 + application/palemoon/themes/osx/actionicon-tab.png | Bin 0 -> 425 bytes .../palemoon/themes/osx/appmenu-dropmarker.png | Bin 0 -> 262 bytes application/palemoon/themes/osx/appmenu-icons.png | Bin 0 -> 2115 bytes application/palemoon/themes/osx/browser.css | 2454 +++++++ .../themes/osx/click-to-play-warning-stripes.png | Bin 0 -> 1563 bytes .../themes/osx/communicator/communicator.css | 6 + .../palemoon/themes/osx/communicator/jar.mn | 7 + .../palemoon/themes/osx/communicator/moz.build | 7 + .../osx/downloads/allDownloadsViewOverlay.css | 146 + .../palemoon/themes/osx/downloads/buttons.png | Bin 0 -> 6881 bytes .../osx/downloads/contentAreaDownloadsView.css | 22 + .../themes/osx/downloads/download-glow.png | Bin 0 -> 546 bytes .../osx/downloads/download-notification-finish.png | Bin 0 -> 3755 bytes .../osx/downloads/download-notification-start.png | Bin 0 -> 3166 bytes .../themes/osx/downloads/download-summary.png | Bin 0 -> 741 bytes .../palemoon/themes/osx/downloads/downloads.css | 394 ++ application/palemoon/themes/osx/engineManager.css | 16 + .../palemoon/themes/osx/feeds/feed-icons-16.png | Bin 0 -> 2187 bytes application/palemoon/themes/osx/feeds/feedIcon.png | Bin 0 -> 1833 bytes .../palemoon/themes/osx/feeds/feedIcon16.png | Bin 0 -> 791 bytes .../palemoon/themes/osx/feeds/subscribe-ui.css | 29 + .../palemoon/themes/osx/feeds/subscribe.css | 159 + application/palemoon/themes/osx/icon.png | Bin 0 -> 2185 bytes .../palemoon/themes/osx/identity-icons-generic.png | Bin 0 -> 965 bytes .../themes/osx/identity-icons-https-ev.png | Bin 0 -> 708 bytes .../osx/identity-icons-https-mixed-active.png | Bin 0 -> 984 bytes .../palemoon/themes/osx/identity-icons-https.png | Bin 0 -> 672 bytes application/palemoon/themes/osx/identity.png | Bin 0 -> 10508 bytes application/palemoon/themes/osx/imagedocument.png | Bin 0 -> 2185 bytes application/palemoon/themes/osx/jar.mn | 169 + .../palemoon/themes/osx/keyhole-forward-mask.svg | 15 + .../palemoon/themes/osx/livemark-folder.png | Bin 0 -> 680 bytes application/palemoon/themes/osx/menu-back.png | Bin 0 -> 341 bytes application/palemoon/themes/osx/menu-forward.png | Bin 0 -> 343 bytes .../themes/osx/mixed-content-blocked-16.png | Bin 0 -> 346 bytes .../themes/osx/mixed-content-blocked-64.png | Bin 0 -> 2063 bytes application/palemoon/themes/osx/monitor.png | Bin 0 -> 6217 bytes application/palemoon/themes/osx/monitor_16-10.png | Bin 0 -> 6787 bytes application/palemoon/themes/osx/moz.build | 9 + .../palemoon/themes/osx/newtab/controls.png | Bin 0 -> 4180 bytes application/palemoon/themes/osx/newtab/newTab.css | 189 + application/palemoon/themes/osx/newtab/noise.png | Bin 0 -> 2118 bytes .../palemoon/themes/osx/notification-16.png | Bin 0 -> 610 bytes .../palemoon/themes/osx/notification-64.png | Bin 0 -> 3373 bytes application/palemoon/themes/osx/page-livemarks.png | Bin 0 -> 683 bytes .../palemoon/themes/osx/page-livemarks@2x.png | Bin 0 -> 1167 bytes application/palemoon/themes/osx/pageInfo.css | 258 + application/palemoon/themes/osx/pageInfo.png | Bin 0 -> 8118 bytes .../palemoon/themes/osx/places/allBookmarks.png | Bin 0 -> 673 bytes .../palemoon/themes/osx/places/bookmark.png | Bin 0 -> 1779 bytes .../palemoon/themes/osx/places/bookmarksMenu.png | Bin 0 -> 353 bytes .../themes/osx/places/bookmarksToolbar.png | Bin 0 -> 524 bytes .../themes/osx/places/bookmarksToolbar@2x.png | Bin 0 -> 1179 bytes .../palemoon/themes/osx/places/calendar.png | Bin 0 -> 614 bytes .../palemoon/themes/osx/places/downloads.png | Bin 0 -> 678 bytes .../palemoon/themes/osx/places/editBookmark.png | Bin 0 -> 1642 bytes .../themes/osx/places/editBookmarkOverlay.css | 79 + .../palemoon/themes/osx/places/expander-closed.png | Bin 0 -> 837 bytes .../palemoon/themes/osx/places/expander-open.png | Bin 0 -> 818 bytes .../palemoon/themes/osx/places/folderDropArrow.png | Bin 0 -> 201 bytes .../themes/osx/places/folderDropArrow@2x.png | Bin 0 -> 443 bytes application/palemoon/themes/osx/places/history.png | Bin 0 -> 843 bytes .../palemoon/themes/osx/places/history@2x.png | Bin 0 -> 1872 bytes .../palemoon/themes/osx/places/libraryToolbar.png | Bin 0 -> 2217 bytes .../palemoon/themes/osx/places/livemark-item.png | Bin 0 -> 863 bytes .../palemoon/themes/osx/places/organizer.css | 134 + application/palemoon/themes/osx/places/places.css | 146 + application/palemoon/themes/osx/places/query.png | Bin 0 -> 549 bytes .../palemoon/themes/osx/places/query@2x.png | Bin 0 -> 1055 bytes .../palemoon/themes/osx/places/starred48.png | Bin 0 -> 1785 bytes application/palemoon/themes/osx/places/tag.png | Bin 0 -> 789 bytes application/palemoon/themes/osx/places/tag@2x.png | Bin 0 -> 1593 bytes .../themes/osx/places/toolbarDropMarker.png | Bin 0 -> 302 bytes .../themes/osx/places/unsortedBookmarks.png | Bin 0 -> 780 bytes .../palemoon/themes/osx/places/unstarred48.png | Bin 0 -> 818 bytes application/palemoon/themes/osx/pointerLock-16.png | Bin 0 -> 249 bytes application/palemoon/themes/osx/pointerLock-64.png | Bin 0 -> 1119 bytes .../themes/osx/preferences/Options-sync.png | Bin 0 -> 3585 bytes .../palemoon/themes/osx/preferences/Options.png | Bin 0 -> 9077 bytes .../themes/osx/preferences/aboutPermissions.css | 157 + .../palemoon/themes/osx/preferences/alwaysAsk.png | Bin 0 -> 446 bytes .../themes/osx/preferences/application.png | Bin 0 -> 441 bytes .../themes/osx/preferences/applications.css | 64 + .../palemoon/themes/osx/preferences/mail.png | Bin 0 -> 630 bytes .../themes/osx/preferences/preferences.css | 142 + .../palemoon/themes/osx/preferences/saveFile.png | Bin 0 -> 791 bytes .../palemoon/themes/osx/privatebrowsing-dark.png | Bin 0 -> 1355 bytes .../palemoon/themes/osx/privatebrowsing-light.png | Bin 0 -> 696 bytes application/palemoon/themes/osx/reload-stop-go.png | Bin 0 -> 1945 bytes application/palemoon/themes/osx/sanitizeDialog.css | 93 + .../themes/osx/searchbar-dropdown-arrow.png | Bin 0 -> 509 bytes application/palemoon/themes/osx/searchbar.css | 79 + .../palemoon/themes/osx/setDesktopBackground.css | 18 + application/palemoon/themes/osx/shared.inc | 6 + application/palemoon/themes/osx/slowStartup-16.png | Bin 0 -> 512 bytes .../palemoon/themes/osx/statusbar/overlay.css | 108 + .../palemoon/themes/osx/statusbar/prefs.css | 13 + application/palemoon/themes/osx/sync-128.png | Bin 0 -> 20229 bytes application/palemoon/themes/osx/sync-16.png | Bin 0 -> 1847 bytes application/palemoon/themes/osx/sync-32.png | Bin 0 -> 3384 bytes application/palemoon/themes/osx/sync-bg.png | Bin 0 -> 21309 bytes .../palemoon/themes/osx/sync-desktopIcon.png | Bin 0 -> 291 bytes .../palemoon/themes/osx/sync-mobileIcon.png | Bin 0 -> 352 bytes .../palemoon/themes/osx/sync-notification-24.png | Bin 0 -> 1119 bytes application/palemoon/themes/osx/sync-throbber.png | Bin 0 -> 10362 bytes application/palemoon/themes/osx/syncCommon.css | 49 + application/palemoon/themes/osx/syncProgress.css | 46 + application/palemoon/themes/osx/syncQuota.css | 26 + application/palemoon/themes/osx/syncSetup.css | 132 + .../themes/osx/tabbrowser/alltabs-inverted.png | Bin 0 -> 469 bytes .../palemoon/themes/osx/tabbrowser/alltabs.png | Bin 0 -> 584 bytes .../palemoon/themes/osx/tabbrowser/connecting.png | Bin 0 -> 8540 bytes .../palemoon/themes/osx/tabbrowser/loading.png | Bin 0 -> 10727 bytes .../themes/osx/tabbrowser/newtab-glass.png | Bin 0 -> 398 bytes .../themes/osx/tabbrowser/newtab-inverted.png | Bin 0 -> 247 bytes .../palemoon/themes/osx/tabbrowser/newtab.png | Bin 0 -> 237 bytes .../themes/osx/tabbrowser/tab-arrow-left-glass.png | Bin 0 -> 331 bytes .../osx/tabbrowser/tab-arrow-left-inverted.png | Bin 0 -> 250 bytes .../themes/osx/tabbrowser/tab-arrow-left.png | Bin 0 -> 368 bytes .../themes/osx/tabbrowser/tab-overflow-border.png | Bin 0 -> 193 bytes .../themes/osx/tabbrowser/tabDragIndicator.png | Bin 0 -> 3117 bytes .../osx/toolbarbutton-dropdown-arrow-inverted.png | Bin 0 -> 221 bytes .../themes/osx/toolbarbutton-dropdown-arrow.png | Bin 0 -> 287 bytes application/palemoon/themes/osx/urlbar-arrow.png | Bin 0 -> 305 bytes .../themes/osx/urlbar-history-dropmarker.png | Bin 0 -> 480 bytes .../palemoon/themes/osx/urlbar-popup-blocked.png | Bin 0 -> 745 bytes .../palemoon/themes/osx/webRTC-shareDevice-16.png | Bin 0 -> 233 bytes .../palemoon/themes/osx/webRTC-shareDevice-64.png | Bin 0 -> 1097 bytes .../themes/osx/webRTC-sharingDevice-16.png | Bin 0 -> 404 bytes application/palemoon/themes/osx/webapps-16.png | Bin 0 -> 355 bytes application/palemoon/themes/osx/webapps-64.png | Bin 0 -> 2942 bytes application/palemoon/themes/shared/browser.inc | 3 + .../themes/shared/plugin-doorhanger.inc.css | 53 + .../shared/plugins/notification-pluginAlert.png | Bin 0 -> 648 bytes .../shared/plugins/notification-pluginAlert@2x.png | Bin 0 -> 1189 bytes .../shared/plugins/notification-pluginBlocked.png | Bin 0 -> 968 bytes .../plugins/notification-pluginBlocked@2x.png | Bin 0 -> 2067 bytes .../shared/plugins/notification-pluginNormal.png | Bin 0 -> 340 bytes .../plugins/notification-pluginNormal@2x.png | Bin 0 -> 469 bytes .../palemoon/themes/shared/statusbar/dynamic.css | 25 + .../palemoon/themes/shared/statusbar/overlay.css | 169 + .../palemoon/themes/shared/statusbar/pms16.png | Bin 0 -> 604 bytes .../palemoon/themes/shared/statusbar/pms24.png | Bin 0 -> 774 bytes .../palemoon/themes/shared/statusbar/prefs.css | 38 + .../palemoon/themes/shared/statusbar/pulse.png | Bin 0 -> 2775 bytes .../themes/shared/statusbar/throbber-idle.png | Bin 0 -> 713 bytes .../themes/shared/statusbar/throbberStatic.png | Bin 0 -> 1736 bytes .../palemoon/themes/windows/Geolocation-16.png | Bin 0 -> 704 bytes .../palemoon/themes/windows/Geolocation-64.png | Bin 0 -> 8424 bytes application/palemoon/themes/windows/Info.png | Bin 0 -> 615 bytes .../palemoon/themes/windows/KUI-background.png | Bin 0 -> 222 bytes application/palemoon/themes/windows/KUI-close.png | Bin 0 -> 393 bytes application/palemoon/themes/windows/Makefile.in | 7 + application/palemoon/themes/windows/Privacy-16.png | Bin 0 -> 798 bytes application/palemoon/themes/windows/Privacy-32.png | Bin 0 -> 1997 bytes application/palemoon/themes/windows/Privacy-48.png | Bin 0 -> 3912 bytes application/palemoon/themes/windows/Privacy-64.png | Bin 0 -> 8172 bytes application/palemoon/themes/windows/Secure24.png | Bin 0 -> 1117 bytes .../palemoon/themes/windows/Toolbar-glass.png | Bin 0 -> 18355 bytes .../palemoon/themes/windows/Toolbar-inverted.png | Bin 0 -> 4653 bytes application/palemoon/themes/windows/Toolbar.png | Bin 0 -> 15505 bytes .../palemoon/themes/windows/aboutCertError.css | 73 + .../aboutCertError_sectionCollapsed-rtl.png | Bin 0 -> 791 bytes .../windows/aboutCertError_sectionCollapsed.png | Bin 0 -> 776 bytes .../windows/aboutCertError_sectionExpanded.png | Bin 0 -> 767 bytes .../themes/windows/aboutPrivateBrowsing.css | 47 + .../windows/aboutSessionRestore-window-icon.png | Bin 0 -> 352 bytes .../themes/windows/aboutSessionRestore.css | 73 + .../palemoon/themes/windows/aboutSyncTabs.css | 101 + .../palemoon/themes/windows/actionicon-tab.png | Bin 0 -> 425 bytes .../palemoon/themes/windows/appmenu-dropmarker.png | Bin 0 -> 262 bytes .../palemoon/themes/windows/appmenu-icons.png | Bin 0 -> 2115 bytes application/palemoon/themes/windows/browser.css | 3785 +++++++++++ .../palemoon/themes/windows/caption-buttons.svg | 121 + .../windows/click-to-play-warning-stripes.png | Bin 0 -> 1563 bytes .../themes/windows/communicator/communicator.css | 6 + .../palemoon/themes/windows/communicator/jar.mn | 7 + .../palemoon/themes/windows/communicator/moz.build | 7 + .../windows/downloads/allDownloadsViewOverlay.css | 178 + .../palemoon/themes/windows/downloads/buttons.png | Bin 0 -> 6881 bytes .../windows/downloads/contentAreaDownloadsView.css | 22 + .../themes/windows/downloads/download-glow.png | Bin 0 -> 546 bytes .../downloads/download-notification-finish.png | Bin 0 -> 3755 bytes .../downloads/download-notification-start.png | Bin 0 -> 3166 bytes .../themes/windows/downloads/download-summary.png | Bin 0 -> 741 bytes .../themes/windows/downloads/downloads.css | 480 ++ .../palemoon/themes/windows/engineManager.css | 16 + .../themes/windows/feeds/feed-icons-16.png | Bin 0 -> 2138 bytes .../palemoon/themes/windows/feeds/feedIcon.png | Bin 0 -> 1885 bytes .../palemoon/themes/windows/feeds/feedIcon16.png | Bin 0 -> 787 bytes .../palemoon/themes/windows/feeds/subscribe-ui.css | 29 + .../palemoon/themes/windows/feeds/subscribe.css | 163 + application/palemoon/themes/windows/icon.png | Bin 0 -> 2185 bytes .../themes/windows/identity-icons-generic.png | Bin 0 -> 965 bytes .../themes/windows/identity-icons-https-ev.png | Bin 0 -> 708 bytes .../windows/identity-icons-https-mixed-active.png | Bin 0 -> 984 bytes .../themes/windows/identity-icons-https.png | Bin 0 -> 672 bytes application/palemoon/themes/windows/identity.png | Bin 0 -> 11844 bytes .../palemoon/themes/windows/imagedocument.png | Bin 0 -> 2185 bytes application/palemoon/themes/windows/jar.mn | 165 + .../themes/windows/keyhole-forward-mask.svg | 15 + .../palemoon/themes/windows/livemark-folder.png | Bin 0 -> 626 bytes application/palemoon/themes/windows/menu-back.png | Bin 0 -> 435 bytes .../palemoon/themes/windows/menu-forward.png | Bin 0 -> 434 bytes .../themes/windows/mixed-content-blocked-16.png | Bin 0 -> 346 bytes .../themes/windows/mixed-content-blocked-64.png | Bin 0 -> 2063 bytes application/palemoon/themes/windows/monitor.png | Bin 0 -> 6217 bytes .../palemoon/themes/windows/monitor_16-10.png | Bin 0 -> 6787 bytes application/palemoon/themes/windows/moz.build | 9 + .../palemoon/themes/windows/newtab/controls.png | Bin 0 -> 4180 bytes .../palemoon/themes/windows/newtab/newTab.css | 189 + .../palemoon/themes/windows/newtab/noise.png | Bin 0 -> 2118 bytes .../palemoon/themes/windows/notification-16.png | Bin 0 -> 610 bytes .../palemoon/themes/windows/notification-64.png | Bin 0 -> 3373 bytes application/palemoon/themes/windows/pageInfo.css | 268 + application/palemoon/themes/windows/pageInfo.png | Bin 0 -> 8432 bytes .../themes/windows/places/allBookmarks.png | Bin 0 -> 612 bytes .../palemoon/themes/windows/places/bookmark.png | Bin 0 -> 1779 bytes .../themes/windows/places/bookmarksMenu.png | Bin 0 -> 346 bytes .../themes/windows/places/bookmarksToolbar.png | Bin 0 -> 380 bytes .../palemoon/themes/windows/places/calendar.png | Bin 0 -> 637 bytes .../palemoon/themes/windows/places/downloads.png | Bin 0 -> 674 bytes .../themes/windows/places/editBookmark.png | Bin 0 -> 1642 bytes .../themes/windows/places/editBookmarkOverlay.css | 80 + .../palemoon/themes/windows/places/history.png | Bin 0 -> 871 bytes .../themes/windows/places/libraryToolbar.png | Bin 0 -> 1331 bytes .../themes/windows/places/livemark-item.png | Bin 0 -> 863 bytes .../palemoon/themes/windows/places/organizer.css | 246 + .../palemoon/themes/windows/places/places.css | 172 + .../palemoon/themes/windows/places/query.png | Bin 0 -> 602 bytes .../palemoon/themes/windows/places/starred48.png | Bin 0 -> 1911 bytes application/palemoon/themes/windows/places/tag.png | Bin 0 -> 676 bytes .../themes/windows/places/toolbarDropMarker.png | Bin 0 -> 223 bytes .../themes/windows/places/unsortedBookmarks.png | Bin 0 -> 762 bytes .../palemoon/themes/windows/places/unstarred48.png | Bin 0 -> 818 bytes .../palemoon/themes/windows/pointerLock-16.png | Bin 0 -> 249 bytes .../palemoon/themes/windows/pointerLock-64.png | Bin 0 -> 1119 bytes .../themes/windows/preferences/Options-sync.png | Bin 0 -> 3585 bytes .../themes/windows/preferences/Options.png | Bin 0 -> 8899 bytes .../windows/preferences/aboutPermissions.css | 157 + .../themes/windows/preferences/alwaysAsk.png | Bin 0 -> 439 bytes .../themes/windows/preferences/application.png | Bin 0 -> 419 bytes .../themes/windows/preferences/applications.css | 64 + .../palemoon/themes/windows/preferences/mail.png | Bin 0 -> 549 bytes .../themes/windows/preferences/preferences.css | 146 + .../themes/windows/preferences/saveFile.png | Bin 0 -> 767 bytes .../themes/windows/privatebrowsing-dark.png | Bin 0 -> 1355 bytes .../themes/windows/privatebrowsing-light.png | Bin 0 -> 696 bytes .../palemoon/themes/windows/reload-stop-go.png | Bin 0 -> 1945 bytes application/palemoon/themes/windows/sanitize.png | Bin 0 -> 779 bytes .../palemoon/themes/windows/sanitizeDialog.css | 93 + .../themes/windows/searchbar-dropdown-arrow.png | Bin 0 -> 517 bytes application/palemoon/themes/windows/searchbar.css | 81 + .../themes/windows/setDesktopBackground.css | 18 + .../palemoon/themes/windows/slowStartup-16.png | Bin 0 -> 512 bytes .../palemoon/themes/windows/statusbar/overlay.css | 104 + .../palemoon/themes/windows/statusbar/prefs.css | 7 + application/palemoon/themes/windows/sync-128.png | Bin 0 -> 20229 bytes application/palemoon/themes/windows/sync-16.png | Bin 0 -> 1847 bytes application/palemoon/themes/windows/sync-32.png | Bin 0 -> 3384 bytes application/palemoon/themes/windows/sync-bg.png | Bin 0 -> 21309 bytes .../palemoon/themes/windows/sync-desktopIcon.png | Bin 0 -> 291 bytes .../palemoon/themes/windows/sync-mobileIcon.png | Bin 0 -> 352 bytes .../themes/windows/sync-notification-24.png | Bin 0 -> 1119 bytes .../palemoon/themes/windows/sync-throbber.png | Bin 0 -> 10362 bytes application/palemoon/themes/windows/syncCommon.css | 49 + .../palemoon/themes/windows/syncProgress.css | 46 + application/palemoon/themes/windows/syncQuota.css | 26 + application/palemoon/themes/windows/syncSetup.css | 132 + .../themes/windows/tabbrowser/alltabs-inverted.png | Bin 0 -> 469 bytes .../palemoon/themes/windows/tabbrowser/alltabs.png | Bin 0 -> 584 bytes .../themes/windows/tabbrowser/connecting.png | Bin 0 -> 8540 bytes .../palemoon/themes/windows/tabbrowser/loading.png | Bin 0 -> 10727 bytes .../themes/windows/tabbrowser/newtab-glass.png | Bin 0 -> 398 bytes .../themes/windows/tabbrowser/newtab-inverted.png | Bin 0 -> 247 bytes .../palemoon/themes/windows/tabbrowser/newtab.png | Bin 0 -> 237 bytes .../windows/tabbrowser/tab-arrow-left-glass.png | Bin 0 -> 331 bytes .../windows/tabbrowser/tab-arrow-left-inverted.png | Bin 0 -> 250 bytes .../themes/windows/tabbrowser/tab-arrow-left.png | Bin 0 -> 368 bytes .../windows/tabbrowser/tab-overflow-border.png | Bin 0 -> 193 bytes .../themes/windows/tabbrowser/tabDragIndicator.png | Bin 0 -> 3117 bytes .../toolbarbutton-dropdown-arrow-inverted.png | Bin 0 -> 221 bytes .../windows/toolbarbutton-dropdown-arrow.png | Bin 0 -> 287 bytes .../palemoon/themes/windows/urlbar-arrow.png | Bin 0 -> 305 bytes .../themes/windows/urlbar-history-dropmarker.png | Bin 0 -> 480 bytes .../themes/windows/urlbar-popup-blocked.png | Bin 0 -> 745 bytes .../themes/windows/webRTC-shareDevice-16.png | Bin 0 -> 233 bytes .../themes/windows/webRTC-shareDevice-64.png | Bin 0 -> 1097 bytes .../themes/windows/webRTC-sharingDevice-16.png | Bin 0 -> 404 bytes application/palemoon/themes/windows/webapps-16.png | Bin 0 -> 355 bytes application/palemoon/themes/windows/webapps-64.png | Bin 0 -> 2942 bytes 1118 files changed, 142674 insertions(+) create mode 100644 application/palemoon/LICENSE create mode 100644 application/palemoon/Makefile.in create mode 100644 application/palemoon/app-rules.mk create mode 100644 application/palemoon/app.mozbuild create mode 100644 application/palemoon/app/Makefile.in create mode 100644 application/palemoon/app/blocklist.xml create mode 100644 application/palemoon/app/macbuild/Contents/CodeResources create mode 100644 application/palemoon/app/macbuild/Contents/Info.plist.in create mode 100644 application/palemoon/app/macbuild/Contents/MacOS-files.in create mode 100644 application/palemoon/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in create mode 100644 application/palemoon/app/macbuild/Contents/_CodeSignature/CodeResources create mode 100644 application/palemoon/app/macversion.py create mode 100644 application/palemoon/app/module.ver create mode 100644 application/palemoon/app/moz.build create mode 100644 application/palemoon/app/nsBrowserApp.cpp create mode 100644 application/palemoon/app/palemoon.exe.manifest create mode 100644 application/palemoon/app/profile/channel-prefs.js create mode 100644 application/palemoon/app/profile/extensions/moz.build create mode 100644 application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/Makefile.in create mode 100644 application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in create mode 100644 application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/moz.build create mode 100644 application/palemoon/app/profile/pagethemes.rdf create mode 100644 application/palemoon/app/profile/palemoon.js create mode 100644 application/palemoon/app/profile/prefs.js create mode 100644 application/palemoon/app/splash.rc create mode 100644 application/palemoon/base/content/aboutDialog.css create mode 100644 application/palemoon/base/content/aboutDialog.js create mode 100644 application/palemoon/base/content/aboutDialog.xul create mode 100644 application/palemoon/base/content/aboutRobots-icon.png create mode 100644 application/palemoon/base/content/aboutRobots-widget-left.png create mode 100644 application/palemoon/base/content/aboutRobots.xhtml create mode 100644 application/palemoon/base/content/abouthome/aboutHome.css create mode 100644 application/palemoon/base/content/abouthome/aboutHome.js create mode 100644 application/palemoon/base/content/abouthome/aboutHome.xhtml create mode 100644 application/palemoon/base/content/abouthome/addons.png create mode 100644 application/palemoon/base/content/abouthome/addons@2x.png create mode 100644 application/palemoon/base/content/abouthome/bookmarks.png create mode 100644 application/palemoon/base/content/abouthome/bookmarks@2x.png create mode 100644 application/palemoon/base/content/abouthome/downloads.png create mode 100644 application/palemoon/base/content/abouthome/downloads@2x.png create mode 100644 application/palemoon/base/content/abouthome/history.png create mode 100644 application/palemoon/base/content/abouthome/history@2x.png create mode 100644 application/palemoon/base/content/abouthome/noise.png create mode 100644 application/palemoon/base/content/abouthome/restore-large.png create mode 100644 application/palemoon/base/content/abouthome/restore-large@2x.png create mode 100644 application/palemoon/base/content/abouthome/restore.png create mode 100644 application/palemoon/base/content/abouthome/restore@2x.png create mode 100644 application/palemoon/base/content/abouthome/settings.png create mode 100644 application/palemoon/base/content/abouthome/settings@2x.png create mode 100644 application/palemoon/base/content/abouthome/snippet1.png create mode 100644 application/palemoon/base/content/abouthome/snippet1@2x.png create mode 100644 application/palemoon/base/content/abouthome/snippet2.png create mode 100644 application/palemoon/base/content/abouthome/snippet2@2x.png create mode 100644 application/palemoon/base/content/abouthome/sync.png create mode 100644 application/palemoon/base/content/abouthome/sync@2x.png create mode 100644 application/palemoon/base/content/autorecovery.js create mode 100644 application/palemoon/base/content/autorecovery.xul create mode 100644 application/palemoon/base/content/baseMenuOverlay.xul create mode 100644 application/palemoon/base/content/blockedSite.xhtml create mode 100644 application/palemoon/base/content/browser-addons.js create mode 100644 application/palemoon/base/content/browser-appmenu.inc create mode 100644 application/palemoon/base/content/browser-charsetmenu.inc create mode 100644 application/palemoon/base/content/browser-context.inc create mode 100644 application/palemoon/base/content/browser-doctype.inc create mode 100644 application/palemoon/base/content/browser-feeds.js create mode 100644 application/palemoon/base/content/browser-fullScreen.js create mode 100644 application/palemoon/base/content/browser-fullZoom.js create mode 100644 application/palemoon/base/content/browser-gestureSupport.js create mode 100644 application/palemoon/base/content/browser-menubar.inc create mode 100644 application/palemoon/base/content/browser-menudragging.js create mode 100644 application/palemoon/base/content/browser-menudragging.xul create mode 100644 application/palemoon/base/content/browser-places.js create mode 100644 application/palemoon/base/content/browser-plugins.js create mode 100644 application/palemoon/base/content/browser-sets.inc create mode 100644 application/palemoon/base/content/browser-syncui.js create mode 100644 application/palemoon/base/content/browser-tabPreviews.js create mode 100644 application/palemoon/base/content/browser-tabPreviews.xml create mode 100644 application/palemoon/base/content/browser-thumbnails.js create mode 100644 application/palemoon/base/content/browser-title.css create mode 100644 application/palemoon/base/content/browser-webrtcUI.js create mode 100644 application/palemoon/base/content/browser.css create mode 100644 application/palemoon/base/content/browser.js create mode 100644 application/palemoon/base/content/browser.xul create mode 100644 application/palemoon/base/content/browserMountPoints.inc create mode 100644 application/palemoon/base/content/content.js create mode 100644 application/palemoon/base/content/downloadManagerOverlay.xul create mode 100644 application/palemoon/base/content/global-scripts.inc create mode 100644 application/palemoon/base/content/hiddenWindow.xul create mode 100644 application/palemoon/base/content/highlighter.css create mode 100644 application/palemoon/base/content/jsConsoleOverlay.xul create mode 100644 application/palemoon/base/content/macBrowserOverlay.xul create mode 100644 application/palemoon/base/content/newtab/cells.js create mode 100644 application/palemoon/base/content/newtab/drag.js create mode 100644 application/palemoon/base/content/newtab/dragDataHelper.js create mode 100644 application/palemoon/base/content/newtab/drop.js create mode 100644 application/palemoon/base/content/newtab/dropPreview.js create mode 100644 application/palemoon/base/content/newtab/dropTargetShim.js create mode 100644 application/palemoon/base/content/newtab/grid.js create mode 100644 application/palemoon/base/content/newtab/newTab.css create mode 100644 application/palemoon/base/content/newtab/newTab.js create mode 100644 application/palemoon/base/content/newtab/newTab.xul create mode 100644 application/palemoon/base/content/newtab/page.js create mode 100644 application/palemoon/base/content/newtab/sites.js create mode 100644 application/palemoon/base/content/newtab/transformations.js create mode 100644 application/palemoon/base/content/newtab/undo.js create mode 100644 application/palemoon/base/content/newtab/updater.js create mode 100644 application/palemoon/base/content/nsContextMenu.js create mode 100644 application/palemoon/base/content/openLocation.js create mode 100644 application/palemoon/base/content/openLocation.xul create mode 100644 application/palemoon/base/content/overrides/app-license.html create mode 100644 application/palemoon/base/content/padlock.css create mode 100644 application/palemoon/base/content/padlock.js create mode 100644 application/palemoon/base/content/padlock.xul create mode 100644 application/palemoon/base/content/padlock_classic_broken.png create mode 100644 application/palemoon/base/content/padlock_classic_ev.png create mode 100644 application/palemoon/base/content/padlock_classic_https.png create mode 100644 application/palemoon/base/content/padlock_classic_low.png create mode 100644 application/palemoon/base/content/padlock_mod_broken.png create mode 100644 application/palemoon/base/content/padlock_mod_ev.png create mode 100644 application/palemoon/base/content/padlock_mod_https.png create mode 100644 application/palemoon/base/content/padlock_mod_low.png create mode 100644 application/palemoon/base/content/pageinfo/feeds.js create mode 100644 application/palemoon/base/content/pageinfo/feeds.xml create mode 100644 application/palemoon/base/content/pageinfo/pageInfo.css create mode 100644 application/palemoon/base/content/pageinfo/pageInfo.js create mode 100644 application/palemoon/base/content/pageinfo/pageInfo.xml create mode 100644 application/palemoon/base/content/pageinfo/pageInfo.xul create mode 100644 application/palemoon/base/content/pageinfo/permissions.js create mode 100644 application/palemoon/base/content/pageinfo/security.js create mode 100644 application/palemoon/base/content/popup-notifications.inc create mode 100644 application/palemoon/base/content/report-phishing-overlay.xul create mode 100644 application/palemoon/base/content/safeMode.css create mode 100644 application/palemoon/base/content/safeMode.js create mode 100644 application/palemoon/base/content/safeMode.xul create mode 100644 application/palemoon/base/content/sanitize.js create mode 100644 application/palemoon/base/content/sanitize.xul create mode 100644 application/palemoon/base/content/sanitizeDialog.css create mode 100644 application/palemoon/base/content/sanitizeDialog.js create mode 100644 application/palemoon/base/content/softwareUpdateOverlay.xul create mode 100644 application/palemoon/base/content/sync/aboutSyncTabs-bindings.xml create mode 100644 application/palemoon/base/content/sync/aboutSyncTabs.css create mode 100644 application/palemoon/base/content/sync/aboutSyncTabs.js create mode 100644 application/palemoon/base/content/sync/aboutSyncTabs.xul create mode 100644 application/palemoon/base/content/sync/addDevice.js create mode 100644 application/palemoon/base/content/sync/addDevice.xul create mode 100644 application/palemoon/base/content/sync/genericChange.js create mode 100644 application/palemoon/base/content/sync/genericChange.xul create mode 100644 application/palemoon/base/content/sync/key.xhtml create mode 100644 application/palemoon/base/content/sync/notification.xml create mode 100644 application/palemoon/base/content/sync/progress.js create mode 100644 application/palemoon/base/content/sync/progress.xhtml create mode 100644 application/palemoon/base/content/sync/quota.js create mode 100644 application/palemoon/base/content/sync/quota.xul create mode 100644 application/palemoon/base/content/sync/setup.js create mode 100644 application/palemoon/base/content/sync/setup.xul create mode 100644 application/palemoon/base/content/sync/utils.js create mode 100644 application/palemoon/base/content/tabbrowser.css create mode 100644 application/palemoon/base/content/tabbrowser.xml create mode 100644 application/palemoon/base/content/test/general/audio.ogg create mode 100644 application/palemoon/base/content/urlbarBindings.xml create mode 100644 application/palemoon/base/content/utilityOverlay.js create mode 100644 application/palemoon/base/content/viewSourceOverlay.xul create mode 100644 application/palemoon/base/content/web-panels.js create mode 100644 application/palemoon/base/content/web-panels.xul create mode 100644 application/palemoon/base/content/win6BrowserOverlay.xul create mode 100644 application/palemoon/base/jar.mn create mode 100644 application/palemoon/base/moz.build create mode 100644 application/palemoon/branding/official/LICENSE create mode 100644 application/palemoon/branding/official/VisualElements_150.png create mode 100644 application/palemoon/branding/official/VisualElements_70.png create mode 100644 application/palemoon/branding/official/appname.bmp create mode 100644 application/palemoon/branding/official/branding.nsi create mode 100644 application/palemoon/branding/official/configure.sh create mode 100644 application/palemoon/branding/official/content/about-background.png create mode 100644 application/palemoon/branding/official/content/about-logo.png create mode 100644 application/palemoon/branding/official/content/about-logo@2x.png create mode 100644 application/palemoon/branding/official/content/about-wordmark.png create mode 100644 application/palemoon/branding/official/content/about-wordmark.svg create mode 100644 application/palemoon/branding/official/content/about.png create mode 100644 application/palemoon/branding/official/content/aboutDialog.css create mode 100644 application/palemoon/branding/official/content/icon48.png create mode 100644 application/palemoon/branding/official/content/icon64.png create mode 100644 application/palemoon/branding/official/content/jar.mn create mode 100644 application/palemoon/branding/official/content/moz.build create mode 100644 application/palemoon/branding/official/default16.png create mode 100644 application/palemoon/branding/official/default22.png create mode 100644 application/palemoon/branding/official/default24.png create mode 100644 application/palemoon/branding/official/default256.png create mode 100644 application/palemoon/branding/official/default32.png create mode 100644 application/palemoon/branding/official/default48.png create mode 100644 application/palemoon/branding/official/disk.icns create mode 100644 application/palemoon/branding/official/disk.ico create mode 100644 application/palemoon/branding/official/document.icns create mode 100644 application/palemoon/branding/official/document.ico create mode 100644 application/palemoon/branding/official/dsstore create mode 100644 application/palemoon/branding/official/firefox.icns create mode 100644 application/palemoon/branding/official/firefox.ico create mode 100644 application/palemoon/branding/official/locales/en-US/brand.dtd create mode 100644 application/palemoon/branding/official/locales/en-US/brand.properties create mode 100644 application/palemoon/branding/official/locales/jar.mn create mode 100644 application/palemoon/branding/official/locales/moz.build create mode 100644 application/palemoon/branding/official/moz.build create mode 100644 application/palemoon/branding/official/mozicon128.png create mode 100644 application/palemoon/branding/official/palemoon.VisualElementsManifest.xml create mode 100644 application/palemoon/branding/official/palemoon.desktop create mode 100644 application/palemoon/branding/official/pref/palemoon-branding.js create mode 100644 application/palemoon/branding/official/wizHeader.bmp create mode 100644 application/palemoon/branding/official/wizHeaderRTL.bmp create mode 100644 application/palemoon/branding/official/wizWatermark.bmp create mode 100644 application/palemoon/branding/shared/background.png create mode 100644 application/palemoon/branding/shared/branding.mozbuild create mode 100644 application/palemoon/branding/shared/locales/browserconfig.properties create mode 100644 application/palemoon/branding/shared/newtab.ico create mode 100644 application/palemoon/branding/shared/newwindow.ico create mode 100644 application/palemoon/branding/shared/pbmode.ico create mode 100644 application/palemoon/branding/shared/pref/preferences.inc create mode 100644 application/palemoon/branding/shared/pref/uaoverrides.inc create mode 100644 application/palemoon/branding/unofficial/VisualElements_150.png create mode 100644 application/palemoon/branding/unofficial/VisualElements_70.png create mode 100644 application/palemoon/branding/unofficial/appname.bmp create mode 100644 application/palemoon/branding/unofficial/branding.nsi create mode 100644 application/palemoon/branding/unofficial/configure.sh create mode 100644 application/palemoon/branding/unofficial/content/about-background.png create mode 100644 application/palemoon/branding/unofficial/content/about-logo.png create mode 100644 application/palemoon/branding/unofficial/content/about-logo@2x.png create mode 100644 application/palemoon/branding/unofficial/content/about-wordmark.png create mode 100644 application/palemoon/branding/unofficial/content/about-wordmark.svg create mode 100644 application/palemoon/branding/unofficial/content/about.png create mode 100644 application/palemoon/branding/unofficial/content/aboutDialog.css create mode 100644 application/palemoon/branding/unofficial/content/icon48.png create mode 100644 application/palemoon/branding/unofficial/content/icon64.png create mode 100644 application/palemoon/branding/unofficial/content/jar.mn create mode 100644 application/palemoon/branding/unofficial/content/moz.build create mode 100644 application/palemoon/branding/unofficial/default16.png create mode 100644 application/palemoon/branding/unofficial/default32.png create mode 100644 application/palemoon/branding/unofficial/default48.png create mode 100644 application/palemoon/branding/unofficial/disk.icns create mode 100644 application/palemoon/branding/unofficial/document.icns create mode 100644 application/palemoon/branding/unofficial/document.ico create mode 100644 application/palemoon/branding/unofficial/dsstore create mode 100644 application/palemoon/branding/unofficial/firefox.icns create mode 100644 application/palemoon/branding/unofficial/firefox.ico create mode 100644 application/palemoon/branding/unofficial/locales/en-US/brand.dtd create mode 100644 application/palemoon/branding/unofficial/locales/en-US/brand.properties create mode 100644 application/palemoon/branding/unofficial/locales/jar.mn create mode 100644 application/palemoon/branding/unofficial/locales/moz.build create mode 100644 application/palemoon/branding/unofficial/moz.build create mode 100644 application/palemoon/branding/unofficial/mozicon128.png create mode 100644 application/palemoon/branding/unofficial/palemoon.VisualElementsManifest.xml create mode 100644 application/palemoon/branding/unofficial/pref/palemoon-branding.js create mode 100644 application/palemoon/branding/unofficial/wizHeader.bmp create mode 100644 application/palemoon/branding/unofficial/wizHeaderRTL.bmp create mode 100644 application/palemoon/branding/unofficial/wizWatermark.bmp create mode 100644 application/palemoon/branding/unstable/VisualElements_150.png create mode 100644 application/palemoon/branding/unstable/VisualElements_70.png create mode 100644 application/palemoon/branding/unstable/appname.bmp create mode 100644 application/palemoon/branding/unstable/branding.nsi create mode 100644 application/palemoon/branding/unstable/configure.sh create mode 100644 application/palemoon/branding/unstable/content/about-background.png create mode 100644 application/palemoon/branding/unstable/content/about-logo.png create mode 100644 application/palemoon/branding/unstable/content/about-logo@2x.png create mode 100644 application/palemoon/branding/unstable/content/about-wordmark.png create mode 100644 application/palemoon/branding/unstable/content/about-wordmark.svg create mode 100644 application/palemoon/branding/unstable/content/about.png create mode 100644 application/palemoon/branding/unstable/content/aboutDialog.css create mode 100644 application/palemoon/branding/unstable/content/icon48.png create mode 100644 application/palemoon/branding/unstable/content/icon64.png create mode 100644 application/palemoon/branding/unstable/content/jar.mn create mode 100644 application/palemoon/branding/unstable/content/moz.build create mode 100644 application/palemoon/branding/unstable/default16.png create mode 100644 application/palemoon/branding/unstable/default32.png create mode 100644 application/palemoon/branding/unstable/default48.png create mode 100644 application/palemoon/branding/unstable/disk.icns create mode 100644 application/palemoon/branding/unstable/document.icns create mode 100644 application/palemoon/branding/unstable/document.ico create mode 100644 application/palemoon/branding/unstable/dsstore create mode 100644 application/palemoon/branding/unstable/firefox.icns create mode 100644 application/palemoon/branding/unstable/firefox.ico create mode 100644 application/palemoon/branding/unstable/locales/en-US/brand.dtd create mode 100644 application/palemoon/branding/unstable/locales/en-US/brand.properties create mode 100644 application/palemoon/branding/unstable/locales/jar.mn create mode 100644 application/palemoon/branding/unstable/locales/moz.build create mode 100644 application/palemoon/branding/unstable/moz.build create mode 100644 application/palemoon/branding/unstable/mozicon128.png create mode 100644 application/palemoon/branding/unstable/palemoon.VisualElementsManifest.xml create mode 100644 application/palemoon/branding/unstable/pref/palemoon-branding.js create mode 100644 application/palemoon/branding/unstable/wizHeader.bmp create mode 100644 application/palemoon/branding/unstable/wizHeaderRTL.bmp create mode 100644 application/palemoon/branding/unstable/wizWatermark.bmp create mode 100644 application/palemoon/build.mk create mode 100644 application/palemoon/components/BrowserComponents.manifest create mode 100644 application/palemoon/components/about/AboutRedirector.cpp create mode 100644 application/palemoon/components/about/AboutRedirector.h create mode 100644 application/palemoon/components/about/moz.build create mode 100644 application/palemoon/components/build/Makefile.in create mode 100644 application/palemoon/components/build/moz.build create mode 100644 application/palemoon/components/build/nsBrowserCompsCID.h create mode 100644 application/palemoon/components/build/nsModule.cpp create mode 100644 application/palemoon/components/certerror/content/aboutCertError.css create mode 100644 application/palemoon/components/certerror/content/aboutCertError.xhtml create mode 100644 application/palemoon/components/certerror/jar.mn create mode 100644 application/palemoon/components/certerror/moz.build create mode 100644 application/palemoon/components/dirprovider/DirectoryProvider.cpp create mode 100644 application/palemoon/components/dirprovider/DirectoryProvider.h create mode 100644 application/palemoon/components/dirprovider/moz.build create mode 100644 application/palemoon/components/distribution.js create mode 100644 application/palemoon/components/downloads/BrowserDownloads.manifest create mode 100644 application/palemoon/components/downloads/DownloadsCommon.jsm create mode 100644 application/palemoon/components/downloads/DownloadsLogger.jsm create mode 100644 application/palemoon/components/downloads/DownloadsStartup.js create mode 100644 application/palemoon/components/downloads/DownloadsTaskbar.jsm create mode 100644 application/palemoon/components/downloads/DownloadsUI.js create mode 100644 application/palemoon/components/downloads/content/allDownloadsViewOverlay.css create mode 100644 application/palemoon/components/downloads/content/allDownloadsViewOverlay.js create mode 100644 application/palemoon/components/downloads/content/allDownloadsViewOverlay.xul create mode 100644 application/palemoon/components/downloads/content/contentAreaDownloadsView.css create mode 100644 application/palemoon/components/downloads/content/contentAreaDownloadsView.js create mode 100644 application/palemoon/components/downloads/content/contentAreaDownloadsView.xul create mode 100644 application/palemoon/components/downloads/content/download.css create mode 100644 application/palemoon/components/downloads/content/download.xml create mode 100644 application/palemoon/components/downloads/content/downloads.css create mode 100644 application/palemoon/components/downloads/content/downloads.js create mode 100644 application/palemoon/components/downloads/content/downloadsOverlay.xul create mode 100644 application/palemoon/components/downloads/content/indicator.js create mode 100644 application/palemoon/components/downloads/content/indicatorOverlay.xul create mode 100644 application/palemoon/components/downloads/jar.mn create mode 100644 application/palemoon/components/downloads/moz.build create mode 100644 application/palemoon/components/feeds/BrowserFeeds.manifest create mode 100644 application/palemoon/components/feeds/FeedConverter.js create mode 100644 application/palemoon/components/feeds/FeedWriter.js create mode 100644 application/palemoon/components/feeds/WebContentConverter.js create mode 100644 application/palemoon/components/feeds/content/subscribe.css create mode 100644 application/palemoon/components/feeds/content/subscribe.js create mode 100644 application/palemoon/components/feeds/content/subscribe.xhtml create mode 100644 application/palemoon/components/feeds/content/subscribe.xml create mode 100644 application/palemoon/components/feeds/jar.mn create mode 100644 application/palemoon/components/feeds/moz.build create mode 100644 application/palemoon/components/feeds/nsFeedSniffer.cpp create mode 100644 application/palemoon/components/feeds/nsFeedSniffer.h create mode 100644 application/palemoon/components/feeds/nsIFeedResultService.idl create mode 100644 application/palemoon/components/feeds/nsIWebContentConverterRegistrar.idl create mode 100644 application/palemoon/components/fuel/fuelApplication.js create mode 100644 application/palemoon/components/fuel/fuelApplication.manifest create mode 100644 application/palemoon/components/fuel/fuelIApplication.idl create mode 100644 application/palemoon/components/fuel/moz.build create mode 100644 application/palemoon/components/migration/BrowserProfileMigrators.manifest create mode 100644 application/palemoon/components/migration/ChromeProfileMigrator.js create mode 100644 application/palemoon/components/migration/FirefoxProfileMigrator.js create mode 100644 application/palemoon/components/migration/IEProfileMigrator.js create mode 100644 application/palemoon/components/migration/MigrationUtils.jsm create mode 100644 application/palemoon/components/migration/ProfileMigrator.js create mode 100644 application/palemoon/components/migration/SafariProfileMigrator.js create mode 100644 application/palemoon/components/migration/content/migration.js create mode 100644 application/palemoon/components/migration/content/migration.xul create mode 100644 application/palemoon/components/migration/jar.mn create mode 100644 application/palemoon/components/migration/moz.build create mode 100644 application/palemoon/components/migration/nsIBrowserProfileMigrator.idl create mode 100644 application/palemoon/components/migration/nsIEHistoryEnumerator.cpp create mode 100644 application/palemoon/components/migration/nsIEHistoryEnumerator.h create mode 100644 application/palemoon/components/moz.build create mode 100644 application/palemoon/components/nsBrowserContentHandler.js create mode 100644 application/palemoon/components/nsBrowserGlue.js create mode 100644 application/palemoon/components/nsIBrowserGlue.idl create mode 100644 application/palemoon/components/nsIBrowserHandler.idl create mode 100644 application/palemoon/components/places/BrowserPlaces.manifest create mode 100644 application/palemoon/components/places/PlacesProtocolHandler.js create mode 100644 application/palemoon/components/places/PlacesUIUtils.jsm create mode 100644 application/palemoon/components/places/content/bookmarkProperties.js create mode 100644 application/palemoon/components/places/content/bookmarkProperties.xul create mode 100644 application/palemoon/components/places/content/bookmarksPanel.js create mode 100644 application/palemoon/components/places/content/bookmarksPanel.xul create mode 100644 application/palemoon/components/places/content/browserPlacesViews.js create mode 100644 application/palemoon/components/places/content/controller.js create mode 100644 application/palemoon/components/places/content/downloadsViewOverlay.xul create mode 100644 application/palemoon/components/places/content/editBookmarkOverlay.js create mode 100644 application/palemoon/components/places/content/editBookmarkOverlay.xul create mode 100644 application/palemoon/components/places/content/history-panel.js create mode 100644 application/palemoon/components/places/content/history-panel.xul create mode 100644 application/palemoon/components/places/content/menu.xml create mode 100644 application/palemoon/components/places/content/moveBookmarks.js create mode 100644 application/palemoon/components/places/content/moveBookmarks.xul create mode 100644 application/palemoon/components/places/content/organizer.css create mode 100644 application/palemoon/components/places/content/places.css create mode 100644 application/palemoon/components/places/content/places.js create mode 100644 application/palemoon/components/places/content/places.xul create mode 100644 application/palemoon/components/places/content/placesOverlay.xul create mode 100644 application/palemoon/components/places/content/sidebarUtils.js create mode 100644 application/palemoon/components/places/content/tree.xml create mode 100644 application/palemoon/components/places/content/treeView.js create mode 100644 application/palemoon/components/places/jar.mn create mode 100644 application/palemoon/components/places/moz.build create mode 100644 application/palemoon/components/preferences/aboutPermissions.css create mode 100644 application/palemoon/components/preferences/aboutPermissions.js create mode 100644 application/palemoon/components/preferences/aboutPermissions.xml create mode 100644 application/palemoon/components/preferences/aboutPermissions.xul create mode 100644 application/palemoon/components/preferences/advanced.js create mode 100644 application/palemoon/components/preferences/advanced.xul create mode 100644 application/palemoon/components/preferences/applicationManager.js create mode 100644 application/palemoon/components/preferences/applicationManager.xul create mode 100644 application/palemoon/components/preferences/applications.js create mode 100644 application/palemoon/components/preferences/applications.xul create mode 100644 application/palemoon/components/preferences/colors.xul create mode 100644 application/palemoon/components/preferences/connection.js create mode 100644 application/palemoon/components/preferences/connection.xul create mode 100644 application/palemoon/components/preferences/content.js create mode 100644 application/palemoon/components/preferences/content.xul create mode 100644 application/palemoon/components/preferences/cookies.js create mode 100644 application/palemoon/components/preferences/cookies.xul create mode 100644 application/palemoon/components/preferences/fonts.js create mode 100644 application/palemoon/components/preferences/fonts.xul create mode 100644 application/palemoon/components/preferences/handlers.css create mode 100644 application/palemoon/components/preferences/handlers.xml create mode 100644 application/palemoon/components/preferences/jar.mn create mode 100644 application/palemoon/components/preferences/languages.js create mode 100644 application/palemoon/components/preferences/languages.xul create mode 100644 application/palemoon/components/preferences/main.js create mode 100644 application/palemoon/components/preferences/main.xul create mode 100644 application/palemoon/components/preferences/moz.build create mode 100644 application/palemoon/components/preferences/permissions.js create mode 100644 application/palemoon/components/preferences/permissions.xul create mode 100644 application/palemoon/components/preferences/preferences.xul create mode 100644 application/palemoon/components/preferences/privacy.js create mode 100644 application/palemoon/components/preferences/privacy.xul create mode 100644 application/palemoon/components/preferences/sanitize.js create mode 100644 application/palemoon/components/preferences/sanitize.xul create mode 100644 application/palemoon/components/preferences/security.js create mode 100644 application/palemoon/components/preferences/security.xul create mode 100644 application/palemoon/components/preferences/selectBookmark.js create mode 100644 application/palemoon/components/preferences/selectBookmark.xul create mode 100644 application/palemoon/components/preferences/sync.js create mode 100644 application/palemoon/components/preferences/sync.xul create mode 100644 application/palemoon/components/preferences/tabs.js create mode 100644 application/palemoon/components/preferences/tabs.xul create mode 100644 application/palemoon/components/privatebrowsing/content/aboutPrivateBrowsing.xhtml create mode 100644 application/palemoon/components/privatebrowsing/jar.mn create mode 100644 application/palemoon/components/privatebrowsing/moz.build create mode 100644 application/palemoon/components/search/content/engineManager.js create mode 100644 application/palemoon/components/search/content/engineManager.xul create mode 100644 application/palemoon/components/search/content/search.xml create mode 100644 application/palemoon/components/search/content/searchbarBindings.css create mode 100644 application/palemoon/components/search/jar.mn create mode 100644 application/palemoon/components/search/moz.build create mode 100644 application/palemoon/components/sessionstore/DocumentUtils.jsm create mode 100644 application/palemoon/components/sessionstore/SessionStorage.jsm create mode 100644 application/palemoon/components/sessionstore/SessionStore.jsm create mode 100644 application/palemoon/components/sessionstore/XPathGenerator.jsm create mode 100644 application/palemoon/components/sessionstore/_SessionFile.jsm create mode 100644 application/palemoon/components/sessionstore/content/aboutSessionRestore.js create mode 100644 application/palemoon/components/sessionstore/content/aboutSessionRestore.xhtml create mode 100644 application/palemoon/components/sessionstore/content/content-sessionStore.js create mode 100644 application/palemoon/components/sessionstore/jar.mn create mode 100644 application/palemoon/components/sessionstore/moz.build create mode 100644 application/palemoon/components/sessionstore/nsISessionStartup.idl create mode 100644 application/palemoon/components/sessionstore/nsISessionStore.idl create mode 100644 application/palemoon/components/sessionstore/nsSessionStartup.js create mode 100644 application/palemoon/components/sessionstore/nsSessionStore.js create mode 100644 application/palemoon/components/sessionstore/nsSessionStore.manifest create mode 100644 application/palemoon/components/shell/Makefile.in create mode 100644 application/palemoon/components/shell/content/setDesktopBackground.js create mode 100644 application/palemoon/components/shell/content/setDesktopBackground.xul create mode 100644 application/palemoon/components/shell/jar.mn create mode 100644 application/palemoon/components/shell/moz.build create mode 100644 application/palemoon/components/shell/nsGNOMEShellService.cpp create mode 100644 application/palemoon/components/shell/nsGNOMEShellService.h create mode 100644 application/palemoon/components/shell/nsIMacShellService.idl create mode 100644 application/palemoon/components/shell/nsIShellService.idl create mode 100644 application/palemoon/components/shell/nsIWindowsShellService.idl create mode 100644 application/palemoon/components/shell/nsMacShellService.cpp create mode 100644 application/palemoon/components/shell/nsMacShellService.h create mode 100644 application/palemoon/components/shell/nsSetDefaultBrowser.js create mode 100644 application/palemoon/components/shell/nsSetDefaultBrowser.manifest create mode 100644 application/palemoon/components/shell/nsShellService.h create mode 100644 application/palemoon/components/shell/nsWindowsShellService.cpp create mode 100644 application/palemoon/components/shell/nsWindowsShellService.h create mode 100644 application/palemoon/components/statusbar/Downloads.jsm create mode 100644 application/palemoon/components/statusbar/Progress.jsm create mode 100644 application/palemoon/components/statusbar/Status.jsm create mode 100644 application/palemoon/components/statusbar/Status4Evar.jsm create mode 100644 application/palemoon/components/statusbar/Toolbars.jsm create mode 100644 application/palemoon/components/statusbar/content/overlay.css create mode 100644 application/palemoon/components/statusbar/content/overlay.js create mode 100644 application/palemoon/components/statusbar/content/overlay.xul create mode 100644 application/palemoon/components/statusbar/content/prefs.css create mode 100644 application/palemoon/components/statusbar/content/prefs.js create mode 100644 application/palemoon/components/statusbar/content/prefs.xml create mode 100644 application/palemoon/components/statusbar/content/prefs.xul create mode 100644 application/palemoon/components/statusbar/content/tabbrowser.xml create mode 100644 application/palemoon/components/statusbar/jar.mn create mode 100644 application/palemoon/components/statusbar/moz.build create mode 100644 application/palemoon/components/statusbar/status4evar.idl create mode 100644 application/palemoon/components/statusbar/status4evar.js create mode 100644 application/palemoon/components/statusbar/status4evar.manifest create mode 100644 application/palemoon/config/mozconfig create mode 100644 application/palemoon/config/mozconfigs/common create mode 100644 application/palemoon/config/mozconfigs/linux32/beta create mode 100644 application/palemoon/config/mozconfigs/linux32/common-opt create mode 100644 application/palemoon/config/mozconfigs/linux32/debug create mode 100644 application/palemoon/config/mozconfigs/linux32/debug-asan create mode 100644 application/palemoon/config/mozconfigs/linux32/l10n-mozconfig create mode 100644 application/palemoon/config/mozconfigs/linux32/release create mode 100644 application/palemoon/config/mozconfigs/linux32/valgrind create mode 100644 application/palemoon/config/mozconfigs/linux64/beta create mode 100644 application/palemoon/config/mozconfigs/linux64/common-opt create mode 100644 application/palemoon/config/mozconfigs/linux64/debug create mode 100644 application/palemoon/config/mozconfigs/linux64/debug-asan create mode 100644 application/palemoon/config/mozconfigs/linux64/debug-static-analysis-clang create mode 100644 application/palemoon/config/mozconfigs/linux64/l10n-mozconfig create mode 100644 application/palemoon/config/mozconfigs/linux64/release create mode 100644 application/palemoon/config/mozconfigs/linux64/valgrind create mode 100644 application/palemoon/config/mozconfigs/macosx-universal/beta create mode 100644 application/palemoon/config/mozconfigs/macosx-universal/common-opt create mode 100644 application/palemoon/config/mozconfigs/macosx-universal/l10n-mozconfig create mode 100644 application/palemoon/config/mozconfigs/macosx-universal/release create mode 100644 application/palemoon/config/mozconfigs/macosx64/debug create mode 100644 application/palemoon/config/mozconfigs/macosx64/debug-asan create mode 100644 application/palemoon/config/mozconfigs/macosx64/l10n-mozconfig create mode 100644 application/palemoon/config/mozconfigs/win32/beta create mode 100644 application/palemoon/config/mozconfigs/win32/common-opt create mode 100644 application/palemoon/config/mozconfigs/win32/debug create mode 100644 application/palemoon/config/mozconfigs/win32/l10n-mozconfig create mode 100644 application/palemoon/config/mozconfigs/win32/release create mode 100644 application/palemoon/config/mozconfigs/win64/debug create mode 100644 application/palemoon/config/mozconfigs/win64/nightly create mode 100644 application/palemoon/config/tooltool-manifests/linux32/clang.manifest create mode 100644 application/palemoon/config/tooltool-manifests/linux32/releng.manifest create mode 100644 application/palemoon/config/tooltool-manifests/linux64/clang.manifest create mode 100644 application/palemoon/config/tooltool-manifests/linux64/releng.manifest create mode 100644 application/palemoon/config/tooltool-manifests/macosx64/releng.manifest create mode 100644 application/palemoon/config/version.txt create mode 100644 application/palemoon/configure.in create mode 100644 application/palemoon/confvars.sh create mode 100644 application/palemoon/defs.mk create mode 100644 application/palemoon/installer/Makefile.in create mode 100644 application/palemoon/installer/moz.build create mode 100644 application/palemoon/installer/package-manifest.in create mode 100644 application/palemoon/installer/removed-files.in create mode 100644 application/palemoon/installer/windows/Makefile.in create mode 100644 application/palemoon/installer/windows/app.tag create mode 100644 application/palemoon/installer/windows/moz.build create mode 100644 application/palemoon/installer/windows/nsis/defines.nsi.in create mode 100644 application/palemoon/installer/windows/nsis/installer.nsi create mode 100644 application/palemoon/installer/windows/nsis/shared.nsh create mode 100644 application/palemoon/installer/windows/nsis/uninstaller.nsi create mode 100644 application/palemoon/installer/windows/nsis/updater_append.ini create mode 100644 application/palemoon/installer/windows/stub.tag create mode 100644 application/palemoon/locales/Makefile.in create mode 100644 application/palemoon/locales/all-locales create mode 100644 application/palemoon/locales/en-US/chrome/browser-region/region.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/aboutCertError.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/aboutDialog.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/aboutHome.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/aboutPrivateBrowsing.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/aboutRobots.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/aboutSessionRestore.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/aboutSyncTabs.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/baseMenuOverlay.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/browser.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/browser.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/charsetMenu.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/charsetMenu.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/charsetOverlay.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/downloads/downloads.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/downloads/downloads.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/engineManager.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/engineManager.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/feeds/subscribe.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/feeds/subscribe.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/migration/migration.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/migration/migration.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/newTab.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/newTab.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/openLocation.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/openLocation.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/pageInfo.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/pageInfo.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/places/bookmarkProperties.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/places/editBookmarkOverlay.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/places/moveBookmarks.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/places/places.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/places/places.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/aboutPermissions.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/aboutPermissions.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/advanced.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/applicationManager.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/applicationManager.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/applications.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/colors.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/connection.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/content.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/cookies.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/fonts.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/languages.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/main.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/permissions.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/preferences.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/preferences.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/privacy.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/security.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/selectBookmark.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/sync.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/preferences/tabs.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/quitDialog.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/safeMode.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/sanitize.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/search.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/searchbar.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/setDesktopBackground.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/shellservice.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/statusbar/meta.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/statusbar/overlay.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/statusbar/prefs.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/statusbar/statusbar-overlay.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/statusbar/statusbar-prefs.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/syncBrand.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/syncGenericChange.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/syncKey.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/syncProgress.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/syncQuota.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/syncQuota.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/syncSetup.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/syncSetup.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/tabbrowser.dtd create mode 100644 application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties create mode 100644 application/palemoon/locales/en-US/chrome/browser/taskbar.properties create mode 100644 application/palemoon/locales/en-US/chrome/overrides/appstrings.properties create mode 100644 application/palemoon/locales/en-US/chrome/overrides/netError.dtd create mode 100644 application/palemoon/locales/en-US/chrome/overrides/settingsChange.dtd create mode 100644 application/palemoon/locales/en-US/crashreporter/crashreporter-override.ini create mode 100644 application/palemoon/locales/en-US/defines.inc create mode 100644 application/palemoon/locales/en-US/installer/custom.properties create mode 100644 application/palemoon/locales/en-US/installer/mui.properties create mode 100644 application/palemoon/locales/en-US/installer/nsisstrings.properties create mode 100644 application/palemoon/locales/en-US/installer/override.properties create mode 100644 application/palemoon/locales/en-US/palemoon-l10n.js create mode 100644 application/palemoon/locales/en-US/pdfviewer/chrome.properties create mode 100644 application/palemoon/locales/en-US/pdfviewer/viewer.properties create mode 100644 application/palemoon/locales/en-US/profile/bookmarks.inc create mode 100644 application/palemoon/locales/en-US/profile/chrome/userChrome-example.css create mode 100644 application/palemoon/locales/en-US/profile/chrome/userContent-example.css create mode 100644 application/palemoon/locales/en-US/searchplugins/amazondotcom.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/answers.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/bing.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/creativecommons.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/duckduckgo-palemoon.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/eBay.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/ecosia.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/list.txt create mode 100644 application/palemoon/locales/en-US/searchplugins/twitter.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/wikipedia.xml create mode 100644 application/palemoon/locales/en-US/searchplugins/yahoo.xml create mode 100644 application/palemoon/locales/en-US/updater/updater.ini create mode 100644 application/palemoon/locales/filter.py create mode 100644 application/palemoon/locales/generic/extract-bookmarks.py create mode 100644 application/palemoon/locales/generic/install.rdf create mode 100644 application/palemoon/locales/generic/profile/bookmarks.html.in create mode 100644 application/palemoon/locales/generic/profile/localstore.rdf create mode 100644 application/palemoon/locales/generic/profile/mimeTypes.rdf create mode 100644 application/palemoon/locales/jar.mn create mode 100644 application/palemoon/locales/l10n.ini create mode 100644 application/palemoon/locales/moz.build create mode 100644 application/palemoon/locales/shipped-locales create mode 100644 application/palemoon/modules/AboutHomeUtils.jsm create mode 100644 application/palemoon/modules/BrowserNewTabPreloader.jsm create mode 100644 application/palemoon/modules/CharsetMenu.jsm create mode 100644 application/palemoon/modules/FormSubmitObserver.jsm create mode 100644 application/palemoon/modules/FormValidationHandler.jsm create mode 100644 application/palemoon/modules/NetworkPrioritizer.jsm create mode 100644 application/palemoon/modules/PageMenu.jsm create mode 100644 application/palemoon/modules/PopupNotifications.jsm create mode 100644 application/palemoon/modules/QuotaManager.jsm create mode 100644 application/palemoon/modules/RecentWindow.jsm create mode 100644 application/palemoon/modules/SharedFrame.jsm create mode 100644 application/palemoon/modules/Windows8WindowFrameColor.jsm create mode 100644 application/palemoon/modules/WindowsJumpLists.jsm create mode 100644 application/palemoon/modules/WindowsPreviewPerTab.jsm create mode 100644 application/palemoon/modules/moz.build create mode 100644 application/palemoon/modules/offlineAppCache.jsm create mode 100644 application/palemoon/modules/openLocationLastURL.jsm create mode 100644 application/palemoon/modules/promise.js create mode 100644 application/palemoon/modules/webrtcUI.jsm create mode 100644 application/palemoon/moz.build create mode 100644 application/palemoon/themes/LICENSE create mode 100644 application/palemoon/themes/linux/Geolocation-16.png create mode 100644 application/palemoon/themes/linux/Geolocation-64.png create mode 100644 application/palemoon/themes/linux/Go-arrow.png create mode 100644 application/palemoon/themes/linux/Info.png create mode 100644 application/palemoon/themes/linux/KUI-close.png create mode 100644 application/palemoon/themes/linux/Makefile.in create mode 100644 application/palemoon/themes/linux/Privacy-16.png create mode 100644 application/palemoon/themes/linux/Privacy-32.png create mode 100644 application/palemoon/themes/linux/Privacy-48.png create mode 100644 application/palemoon/themes/linux/Privacy-64.png create mode 100644 application/palemoon/themes/linux/Secure.png create mode 100644 application/palemoon/themes/linux/Security-broken.png create mode 100644 application/palemoon/themes/linux/Toolbar-small.png create mode 100644 application/palemoon/themes/linux/Toolbar.png create mode 100644 application/palemoon/themes/linux/aboutCertError.css create mode 100644 application/palemoon/themes/linux/aboutCertError_sectionCollapsed-rtl.png create mode 100644 application/palemoon/themes/linux/aboutCertError_sectionCollapsed.png create mode 100644 application/palemoon/themes/linux/aboutCertError_sectionExpanded.png create mode 100644 application/palemoon/themes/linux/aboutPrivateBrowsing.css create mode 100644 application/palemoon/themes/linux/aboutSessionRestore-window-icon.png create mode 100644 application/palemoon/themes/linux/aboutSessionRestore.css create mode 100644 application/palemoon/themes/linux/aboutSyncTabs.css create mode 100644 application/palemoon/themes/linux/actionicon-tab.png create mode 100644 application/palemoon/themes/linux/browser.css create mode 100644 application/palemoon/themes/linux/click-to-play-warning-stripes.png create mode 100644 application/palemoon/themes/linux/communicator/communicator.css create mode 100644 application/palemoon/themes/linux/communicator/jar.mn create mode 100644 application/palemoon/themes/linux/communicator/moz.build create mode 100644 application/palemoon/themes/linux/downloads/allDownloadsViewOverlay.css create mode 100644 application/palemoon/themes/linux/downloads/buttons.png create mode 100644 application/palemoon/themes/linux/downloads/contentAreaDownloadsView.css create mode 100644 application/palemoon/themes/linux/downloads/download-glow-small.png create mode 100644 application/palemoon/themes/linux/downloads/download-glow.png create mode 100644 application/palemoon/themes/linux/downloads/download-notification-finish.png create mode 100644 application/palemoon/themes/linux/downloads/download-notification-start.png create mode 100644 application/palemoon/themes/linux/downloads/download-summary.png create mode 100644 application/palemoon/themes/linux/downloads/downloads.css create mode 100644 application/palemoon/themes/linux/engineManager.css create mode 100644 application/palemoon/themes/linux/feeds/feedIcon.png create mode 100644 application/palemoon/themes/linux/feeds/feedIcon16.png create mode 100644 application/palemoon/themes/linux/feeds/subscribe-ui.css create mode 100644 application/palemoon/themes/linux/feeds/subscribe.css create mode 100644 application/palemoon/themes/linux/icon.png create mode 100644 application/palemoon/themes/linux/identity-icons-generic.png create mode 100644 application/palemoon/themes/linux/identity-icons-https-ev.png create mode 100644 application/palemoon/themes/linux/identity-icons-https-mixed-active.png create mode 100644 application/palemoon/themes/linux/identity-icons-https.png create mode 100644 application/palemoon/themes/linux/identity.png create mode 100644 application/palemoon/themes/linux/imagedocument.png create mode 100644 application/palemoon/themes/linux/jar.mn create mode 100644 application/palemoon/themes/linux/mixed-content-blocked-16.png create mode 100644 application/palemoon/themes/linux/mixed-content-blocked-64.png create mode 100644 application/palemoon/themes/linux/monitor.png create mode 100644 application/palemoon/themes/linux/monitor_16-10.png create mode 100644 application/palemoon/themes/linux/moz.build create mode 100644 application/palemoon/themes/linux/newtab/controls.png create mode 100644 application/palemoon/themes/linux/newtab/newTab.css create mode 100644 application/palemoon/themes/linux/newtab/noise.png create mode 100644 application/palemoon/themes/linux/notification-16.png create mode 100644 application/palemoon/themes/linux/notification-64.png create mode 100644 application/palemoon/themes/linux/page-livemarks.png create mode 100644 application/palemoon/themes/linux/pageInfo.css create mode 100644 application/palemoon/themes/linux/pageInfo.png create mode 100644 application/palemoon/themes/linux/places/bookmarksMenu.png create mode 100644 application/palemoon/themes/linux/places/bookmarksToolbar.png create mode 100644 application/palemoon/themes/linux/places/calendar.png create mode 100644 application/palemoon/themes/linux/places/downloads.png create mode 100644 application/palemoon/themes/linux/places/editBookmarkOverlay.css create mode 100644 application/palemoon/themes/linux/places/livemark-item.png create mode 100644 application/palemoon/themes/linux/places/organizer.css create mode 100644 application/palemoon/themes/linux/places/organizer.xml create mode 100644 application/palemoon/themes/linux/places/pageStarred.png create mode 100644 application/palemoon/themes/linux/places/places.css create mode 100644 application/palemoon/themes/linux/places/query.png create mode 100644 application/palemoon/themes/linux/places/star-icons.png create mode 100644 application/palemoon/themes/linux/places/starPage.png create mode 100644 application/palemoon/themes/linux/places/starred48.png create mode 100644 application/palemoon/themes/linux/places/tag.png create mode 100644 application/palemoon/themes/linux/places/toolbarDropMarker.png create mode 100644 application/palemoon/themes/linux/places/unsortedBookmarks.png create mode 100644 application/palemoon/themes/linux/places/unstarred48.png create mode 100644 application/palemoon/themes/linux/pointerLock-16.png create mode 100644 application/palemoon/themes/linux/pointerLock-64.png create mode 100644 application/palemoon/themes/linux/preferences/Options-sync.png create mode 100644 application/palemoon/themes/linux/preferences/Options.png create mode 100644 application/palemoon/themes/linux/preferences/aboutPermissions.css create mode 100644 application/palemoon/themes/linux/preferences/alwaysAsk.png create mode 100644 application/palemoon/themes/linux/preferences/applications.css create mode 100644 application/palemoon/themes/linux/preferences/mail.png create mode 100644 application/palemoon/themes/linux/preferences/preferences.css create mode 100644 application/palemoon/themes/linux/privatebrowsing-mask.png create mode 100644 application/palemoon/themes/linux/sanitizeDialog.css create mode 100644 application/palemoon/themes/linux/searchbar.css create mode 100644 application/palemoon/themes/linux/setDesktopBackground.css create mode 100644 application/palemoon/themes/linux/slowStartup-16.png create mode 100644 application/palemoon/themes/linux/statusbar/overlay.css create mode 100644 application/palemoon/themes/linux/statusbar/prefs.css create mode 100644 application/palemoon/themes/linux/sync-128.png create mode 100644 application/palemoon/themes/linux/sync-16-throbber.png create mode 100644 application/palemoon/themes/linux/sync-16.png create mode 100644 application/palemoon/themes/linux/sync-24-throbber.png create mode 100644 application/palemoon/themes/linux/sync-32.png create mode 100644 application/palemoon/themes/linux/sync-bg.png create mode 100644 application/palemoon/themes/linux/sync-desktopIcon.png create mode 100644 application/palemoon/themes/linux/sync-mobileIcon.png create mode 100644 application/palemoon/themes/linux/sync-notification-24.png create mode 100644 application/palemoon/themes/linux/syncCommon.css create mode 100644 application/palemoon/themes/linux/syncProgress.css create mode 100644 application/palemoon/themes/linux/syncQuota.css create mode 100644 application/palemoon/themes/linux/syncSetup.css create mode 100644 application/palemoon/themes/linux/tabbrowser/alltabs.png create mode 100644 application/palemoon/themes/linux/tabbrowser/connecting.png create mode 100644 application/palemoon/themes/linux/tabbrowser/loading.png create mode 100644 application/palemoon/themes/linux/tabbrowser/tab-overflow-border.png create mode 100644 application/palemoon/themes/linux/tabbrowser/tab.png create mode 100644 application/palemoon/themes/linux/tabbrowser/tabDragIndicator.png create mode 100644 application/palemoon/themes/linux/urlbar-arrow.png create mode 100644 application/palemoon/themes/linux/webRTC-shareDevice-16.png create mode 100644 application/palemoon/themes/linux/webRTC-shareDevice-64.png create mode 100644 application/palemoon/themes/linux/webRTC-sharingDevice-16.png create mode 100644 application/palemoon/themes/linux/webapps-16.png create mode 100644 application/palemoon/themes/linux/webapps-64.png create mode 100644 application/palemoon/themes/moz.build create mode 100644 application/palemoon/themes/osx/Geolocation-16.png create mode 100644 application/palemoon/themes/osx/Geolocation-64.png create mode 100644 application/palemoon/themes/osx/Info.png create mode 100644 application/palemoon/themes/osx/KUI-background.png create mode 100644 application/palemoon/themes/osx/KUI-close.png create mode 100644 application/palemoon/themes/osx/Makefile.in create mode 100644 application/palemoon/themes/osx/Privacy-16.png create mode 100644 application/palemoon/themes/osx/Privacy-32.png create mode 100644 application/palemoon/themes/osx/Privacy-48.png create mode 100644 application/palemoon/themes/osx/Privacy-64.png create mode 100644 application/palemoon/themes/osx/Search-glass.png create mode 100644 application/palemoon/themes/osx/Secure24.png create mode 100644 application/palemoon/themes/osx/Toolbar-glass.png create mode 100644 application/palemoon/themes/osx/Toolbar-inverted.png create mode 100644 application/palemoon/themes/osx/Toolbar.png create mode 100644 application/palemoon/themes/osx/aboutCertError.css create mode 100644 application/palemoon/themes/osx/aboutCertError_sectionCollapsed-rtl.png create mode 100644 application/palemoon/themes/osx/aboutCertError_sectionCollapsed.png create mode 100644 application/palemoon/themes/osx/aboutCertError_sectionExpanded.png create mode 100644 application/palemoon/themes/osx/aboutPrivateBrowsing.css create mode 100644 application/palemoon/themes/osx/aboutSessionRestore.css create mode 100644 application/palemoon/themes/osx/aboutSyncTabs.css create mode 100644 application/palemoon/themes/osx/actionicon-tab.png create mode 100644 application/palemoon/themes/osx/appmenu-dropmarker.png create mode 100644 application/palemoon/themes/osx/appmenu-icons.png create mode 100644 application/palemoon/themes/osx/browser.css create mode 100644 application/palemoon/themes/osx/click-to-play-warning-stripes.png create mode 100644 application/palemoon/themes/osx/communicator/communicator.css create mode 100644 application/palemoon/themes/osx/communicator/jar.mn create mode 100644 application/palemoon/themes/osx/communicator/moz.build create mode 100644 application/palemoon/themes/osx/downloads/allDownloadsViewOverlay.css create mode 100644 application/palemoon/themes/osx/downloads/buttons.png create mode 100644 application/palemoon/themes/osx/downloads/contentAreaDownloadsView.css create mode 100644 application/palemoon/themes/osx/downloads/download-glow.png create mode 100644 application/palemoon/themes/osx/downloads/download-notification-finish.png create mode 100644 application/palemoon/themes/osx/downloads/download-notification-start.png create mode 100644 application/palemoon/themes/osx/downloads/download-summary.png create mode 100644 application/palemoon/themes/osx/downloads/downloads.css create mode 100644 application/palemoon/themes/osx/engineManager.css create mode 100644 application/palemoon/themes/osx/feeds/feed-icons-16.png create mode 100644 application/palemoon/themes/osx/feeds/feedIcon.png create mode 100644 application/palemoon/themes/osx/feeds/feedIcon16.png create mode 100644 application/palemoon/themes/osx/feeds/subscribe-ui.css create mode 100644 application/palemoon/themes/osx/feeds/subscribe.css create mode 100644 application/palemoon/themes/osx/icon.png create mode 100644 application/palemoon/themes/osx/identity-icons-generic.png create mode 100644 application/palemoon/themes/osx/identity-icons-https-ev.png create mode 100644 application/palemoon/themes/osx/identity-icons-https-mixed-active.png create mode 100644 application/palemoon/themes/osx/identity-icons-https.png create mode 100644 application/palemoon/themes/osx/identity.png create mode 100644 application/palemoon/themes/osx/imagedocument.png create mode 100644 application/palemoon/themes/osx/jar.mn create mode 100644 application/palemoon/themes/osx/keyhole-forward-mask.svg create mode 100644 application/palemoon/themes/osx/livemark-folder.png create mode 100644 application/palemoon/themes/osx/menu-back.png create mode 100644 application/palemoon/themes/osx/menu-forward.png create mode 100644 application/palemoon/themes/osx/mixed-content-blocked-16.png create mode 100644 application/palemoon/themes/osx/mixed-content-blocked-64.png create mode 100644 application/palemoon/themes/osx/monitor.png create mode 100644 application/palemoon/themes/osx/monitor_16-10.png create mode 100644 application/palemoon/themes/osx/moz.build create mode 100644 application/palemoon/themes/osx/newtab/controls.png create mode 100644 application/palemoon/themes/osx/newtab/newTab.css create mode 100644 application/palemoon/themes/osx/newtab/noise.png create mode 100644 application/palemoon/themes/osx/notification-16.png create mode 100644 application/palemoon/themes/osx/notification-64.png create mode 100644 application/palemoon/themes/osx/page-livemarks.png create mode 100644 application/palemoon/themes/osx/page-livemarks@2x.png create mode 100644 application/palemoon/themes/osx/pageInfo.css create mode 100644 application/palemoon/themes/osx/pageInfo.png create mode 100644 application/palemoon/themes/osx/places/allBookmarks.png create mode 100644 application/palemoon/themes/osx/places/bookmark.png create mode 100644 application/palemoon/themes/osx/places/bookmarksMenu.png create mode 100644 application/palemoon/themes/osx/places/bookmarksToolbar.png create mode 100644 application/palemoon/themes/osx/places/bookmarksToolbar@2x.png create mode 100644 application/palemoon/themes/osx/places/calendar.png create mode 100644 application/palemoon/themes/osx/places/downloads.png create mode 100644 application/palemoon/themes/osx/places/editBookmark.png create mode 100644 application/palemoon/themes/osx/places/editBookmarkOverlay.css create mode 100644 application/palemoon/themes/osx/places/expander-closed.png create mode 100644 application/palemoon/themes/osx/places/expander-open.png create mode 100644 application/palemoon/themes/osx/places/folderDropArrow.png create mode 100644 application/palemoon/themes/osx/places/folderDropArrow@2x.png create mode 100644 application/palemoon/themes/osx/places/history.png create mode 100644 application/palemoon/themes/osx/places/history@2x.png create mode 100644 application/palemoon/themes/osx/places/libraryToolbar.png create mode 100644 application/palemoon/themes/osx/places/livemark-item.png create mode 100644 application/palemoon/themes/osx/places/organizer.css create mode 100644 application/palemoon/themes/osx/places/places.css create mode 100644 application/palemoon/themes/osx/places/query.png create mode 100644 application/palemoon/themes/osx/places/query@2x.png create mode 100644 application/palemoon/themes/osx/places/starred48.png create mode 100644 application/palemoon/themes/osx/places/tag.png create mode 100644 application/palemoon/themes/osx/places/tag@2x.png create mode 100644 application/palemoon/themes/osx/places/toolbarDropMarker.png create mode 100644 application/palemoon/themes/osx/places/unsortedBookmarks.png create mode 100644 application/palemoon/themes/osx/places/unstarred48.png create mode 100644 application/palemoon/themes/osx/pointerLock-16.png create mode 100644 application/palemoon/themes/osx/pointerLock-64.png create mode 100644 application/palemoon/themes/osx/preferences/Options-sync.png create mode 100644 application/palemoon/themes/osx/preferences/Options.png create mode 100644 application/palemoon/themes/osx/preferences/aboutPermissions.css create mode 100644 application/palemoon/themes/osx/preferences/alwaysAsk.png create mode 100644 application/palemoon/themes/osx/preferences/application.png create mode 100644 application/palemoon/themes/osx/preferences/applications.css create mode 100644 application/palemoon/themes/osx/preferences/mail.png create mode 100644 application/palemoon/themes/osx/preferences/preferences.css create mode 100644 application/palemoon/themes/osx/preferences/saveFile.png create mode 100644 application/palemoon/themes/osx/privatebrowsing-dark.png create mode 100644 application/palemoon/themes/osx/privatebrowsing-light.png create mode 100644 application/palemoon/themes/osx/reload-stop-go.png create mode 100644 application/palemoon/themes/osx/sanitizeDialog.css create mode 100644 application/palemoon/themes/osx/searchbar-dropdown-arrow.png create mode 100644 application/palemoon/themes/osx/searchbar.css create mode 100644 application/palemoon/themes/osx/setDesktopBackground.css create mode 100644 application/palemoon/themes/osx/shared.inc create mode 100644 application/palemoon/themes/osx/slowStartup-16.png create mode 100644 application/palemoon/themes/osx/statusbar/overlay.css create mode 100644 application/palemoon/themes/osx/statusbar/prefs.css create mode 100644 application/palemoon/themes/osx/sync-128.png create mode 100644 application/palemoon/themes/osx/sync-16.png create mode 100644 application/palemoon/themes/osx/sync-32.png create mode 100644 application/palemoon/themes/osx/sync-bg.png create mode 100644 application/palemoon/themes/osx/sync-desktopIcon.png create mode 100644 application/palemoon/themes/osx/sync-mobileIcon.png create mode 100644 application/palemoon/themes/osx/sync-notification-24.png create mode 100644 application/palemoon/themes/osx/sync-throbber.png create mode 100644 application/palemoon/themes/osx/syncCommon.css create mode 100644 application/palemoon/themes/osx/syncProgress.css create mode 100644 application/palemoon/themes/osx/syncQuota.css create mode 100644 application/palemoon/themes/osx/syncSetup.css create mode 100644 application/palemoon/themes/osx/tabbrowser/alltabs-inverted.png create mode 100644 application/palemoon/themes/osx/tabbrowser/alltabs.png create mode 100644 application/palemoon/themes/osx/tabbrowser/connecting.png create mode 100644 application/palemoon/themes/osx/tabbrowser/loading.png create mode 100644 application/palemoon/themes/osx/tabbrowser/newtab-glass.png create mode 100644 application/palemoon/themes/osx/tabbrowser/newtab-inverted.png create mode 100644 application/palemoon/themes/osx/tabbrowser/newtab.png create mode 100644 application/palemoon/themes/osx/tabbrowser/tab-arrow-left-glass.png create mode 100644 application/palemoon/themes/osx/tabbrowser/tab-arrow-left-inverted.png create mode 100644 application/palemoon/themes/osx/tabbrowser/tab-arrow-left.png create mode 100644 application/palemoon/themes/osx/tabbrowser/tab-overflow-border.png create mode 100644 application/palemoon/themes/osx/tabbrowser/tabDragIndicator.png create mode 100644 application/palemoon/themes/osx/toolbarbutton-dropdown-arrow-inverted.png create mode 100644 application/palemoon/themes/osx/toolbarbutton-dropdown-arrow.png create mode 100644 application/palemoon/themes/osx/urlbar-arrow.png create mode 100644 application/palemoon/themes/osx/urlbar-history-dropmarker.png create mode 100644 application/palemoon/themes/osx/urlbar-popup-blocked.png create mode 100644 application/palemoon/themes/osx/webRTC-shareDevice-16.png create mode 100644 application/palemoon/themes/osx/webRTC-shareDevice-64.png create mode 100644 application/palemoon/themes/osx/webRTC-sharingDevice-16.png create mode 100644 application/palemoon/themes/osx/webapps-16.png create mode 100644 application/palemoon/themes/osx/webapps-64.png create mode 100644 application/palemoon/themes/shared/browser.inc create mode 100644 application/palemoon/themes/shared/plugin-doorhanger.inc.css create mode 100644 application/palemoon/themes/shared/plugins/notification-pluginAlert.png create mode 100644 application/palemoon/themes/shared/plugins/notification-pluginAlert@2x.png create mode 100644 application/palemoon/themes/shared/plugins/notification-pluginBlocked.png create mode 100644 application/palemoon/themes/shared/plugins/notification-pluginBlocked@2x.png create mode 100644 application/palemoon/themes/shared/plugins/notification-pluginNormal.png create mode 100644 application/palemoon/themes/shared/plugins/notification-pluginNormal@2x.png create mode 100644 application/palemoon/themes/shared/statusbar/dynamic.css create mode 100644 application/palemoon/themes/shared/statusbar/overlay.css create mode 100644 application/palemoon/themes/shared/statusbar/pms16.png create mode 100644 application/palemoon/themes/shared/statusbar/pms24.png create mode 100644 application/palemoon/themes/shared/statusbar/prefs.css create mode 100644 application/palemoon/themes/shared/statusbar/pulse.png create mode 100644 application/palemoon/themes/shared/statusbar/throbber-idle.png create mode 100644 application/palemoon/themes/shared/statusbar/throbberStatic.png create mode 100644 application/palemoon/themes/windows/Geolocation-16.png create mode 100644 application/palemoon/themes/windows/Geolocation-64.png create mode 100644 application/palemoon/themes/windows/Info.png create mode 100644 application/palemoon/themes/windows/KUI-background.png create mode 100644 application/palemoon/themes/windows/KUI-close.png create mode 100644 application/palemoon/themes/windows/Makefile.in create mode 100644 application/palemoon/themes/windows/Privacy-16.png create mode 100644 application/palemoon/themes/windows/Privacy-32.png create mode 100644 application/palemoon/themes/windows/Privacy-48.png create mode 100644 application/palemoon/themes/windows/Privacy-64.png create mode 100644 application/palemoon/themes/windows/Secure24.png create mode 100644 application/palemoon/themes/windows/Toolbar-glass.png create mode 100644 application/palemoon/themes/windows/Toolbar-inverted.png create mode 100644 application/palemoon/themes/windows/Toolbar.png create mode 100644 application/palemoon/themes/windows/aboutCertError.css create mode 100644 application/palemoon/themes/windows/aboutCertError_sectionCollapsed-rtl.png create mode 100644 application/palemoon/themes/windows/aboutCertError_sectionCollapsed.png create mode 100644 application/palemoon/themes/windows/aboutCertError_sectionExpanded.png create mode 100644 application/palemoon/themes/windows/aboutPrivateBrowsing.css create mode 100644 application/palemoon/themes/windows/aboutSessionRestore-window-icon.png create mode 100644 application/palemoon/themes/windows/aboutSessionRestore.css create mode 100644 application/palemoon/themes/windows/aboutSyncTabs.css create mode 100644 application/palemoon/themes/windows/actionicon-tab.png create mode 100644 application/palemoon/themes/windows/appmenu-dropmarker.png create mode 100644 application/palemoon/themes/windows/appmenu-icons.png create mode 100644 application/palemoon/themes/windows/browser.css create mode 100644 application/palemoon/themes/windows/caption-buttons.svg create mode 100644 application/palemoon/themes/windows/click-to-play-warning-stripes.png create mode 100644 application/palemoon/themes/windows/communicator/communicator.css create mode 100644 application/palemoon/themes/windows/communicator/jar.mn create mode 100644 application/palemoon/themes/windows/communicator/moz.build create mode 100644 application/palemoon/themes/windows/downloads/allDownloadsViewOverlay.css create mode 100644 application/palemoon/themes/windows/downloads/buttons.png create mode 100644 application/palemoon/themes/windows/downloads/contentAreaDownloadsView.css create mode 100644 application/palemoon/themes/windows/downloads/download-glow.png create mode 100644 application/palemoon/themes/windows/downloads/download-notification-finish.png create mode 100644 application/palemoon/themes/windows/downloads/download-notification-start.png create mode 100644 application/palemoon/themes/windows/downloads/download-summary.png create mode 100644 application/palemoon/themes/windows/downloads/downloads.css create mode 100644 application/palemoon/themes/windows/engineManager.css create mode 100644 application/palemoon/themes/windows/feeds/feed-icons-16.png create mode 100644 application/palemoon/themes/windows/feeds/feedIcon.png create mode 100644 application/palemoon/themes/windows/feeds/feedIcon16.png create mode 100644 application/palemoon/themes/windows/feeds/subscribe-ui.css create mode 100644 application/palemoon/themes/windows/feeds/subscribe.css create mode 100644 application/palemoon/themes/windows/icon.png create mode 100644 application/palemoon/themes/windows/identity-icons-generic.png create mode 100644 application/palemoon/themes/windows/identity-icons-https-ev.png create mode 100644 application/palemoon/themes/windows/identity-icons-https-mixed-active.png create mode 100644 application/palemoon/themes/windows/identity-icons-https.png create mode 100644 application/palemoon/themes/windows/identity.png create mode 100644 application/palemoon/themes/windows/imagedocument.png create mode 100644 application/palemoon/themes/windows/jar.mn create mode 100644 application/palemoon/themes/windows/keyhole-forward-mask.svg create mode 100644 application/palemoon/themes/windows/livemark-folder.png create mode 100644 application/palemoon/themes/windows/menu-back.png create mode 100644 application/palemoon/themes/windows/menu-forward.png create mode 100644 application/palemoon/themes/windows/mixed-content-blocked-16.png create mode 100644 application/palemoon/themes/windows/mixed-content-blocked-64.png create mode 100644 application/palemoon/themes/windows/monitor.png create mode 100644 application/palemoon/themes/windows/monitor_16-10.png create mode 100644 application/palemoon/themes/windows/moz.build create mode 100644 application/palemoon/themes/windows/newtab/controls.png create mode 100644 application/palemoon/themes/windows/newtab/newTab.css create mode 100644 application/palemoon/themes/windows/newtab/noise.png create mode 100644 application/palemoon/themes/windows/notification-16.png create mode 100644 application/palemoon/themes/windows/notification-64.png create mode 100644 application/palemoon/themes/windows/pageInfo.css create mode 100644 application/palemoon/themes/windows/pageInfo.png create mode 100644 application/palemoon/themes/windows/places/allBookmarks.png create mode 100644 application/palemoon/themes/windows/places/bookmark.png create mode 100644 application/palemoon/themes/windows/places/bookmarksMenu.png create mode 100644 application/palemoon/themes/windows/places/bookmarksToolbar.png create mode 100644 application/palemoon/themes/windows/places/calendar.png create mode 100644 application/palemoon/themes/windows/places/downloads.png create mode 100644 application/palemoon/themes/windows/places/editBookmark.png create mode 100644 application/palemoon/themes/windows/places/editBookmarkOverlay.css create mode 100644 application/palemoon/themes/windows/places/history.png create mode 100644 application/palemoon/themes/windows/places/libraryToolbar.png create mode 100644 application/palemoon/themes/windows/places/livemark-item.png create mode 100644 application/palemoon/themes/windows/places/organizer.css create mode 100644 application/palemoon/themes/windows/places/places.css create mode 100644 application/palemoon/themes/windows/places/query.png create mode 100644 application/palemoon/themes/windows/places/starred48.png create mode 100644 application/palemoon/themes/windows/places/tag.png create mode 100644 application/palemoon/themes/windows/places/toolbarDropMarker.png create mode 100644 application/palemoon/themes/windows/places/unsortedBookmarks.png create mode 100644 application/palemoon/themes/windows/places/unstarred48.png create mode 100644 application/palemoon/themes/windows/pointerLock-16.png create mode 100644 application/palemoon/themes/windows/pointerLock-64.png create mode 100644 application/palemoon/themes/windows/preferences/Options-sync.png create mode 100644 application/palemoon/themes/windows/preferences/Options.png create mode 100644 application/palemoon/themes/windows/preferences/aboutPermissions.css create mode 100644 application/palemoon/themes/windows/preferences/alwaysAsk.png create mode 100644 application/palemoon/themes/windows/preferences/application.png create mode 100644 application/palemoon/themes/windows/preferences/applications.css create mode 100644 application/palemoon/themes/windows/preferences/mail.png create mode 100644 application/palemoon/themes/windows/preferences/preferences.css create mode 100644 application/palemoon/themes/windows/preferences/saveFile.png create mode 100644 application/palemoon/themes/windows/privatebrowsing-dark.png create mode 100644 application/palemoon/themes/windows/privatebrowsing-light.png create mode 100644 application/palemoon/themes/windows/reload-stop-go.png create mode 100644 application/palemoon/themes/windows/sanitize.png create mode 100644 application/palemoon/themes/windows/sanitizeDialog.css create mode 100644 application/palemoon/themes/windows/searchbar-dropdown-arrow.png create mode 100644 application/palemoon/themes/windows/searchbar.css create mode 100644 application/palemoon/themes/windows/setDesktopBackground.css create mode 100644 application/palemoon/themes/windows/slowStartup-16.png create mode 100644 application/palemoon/themes/windows/statusbar/overlay.css create mode 100644 application/palemoon/themes/windows/statusbar/prefs.css create mode 100644 application/palemoon/themes/windows/sync-128.png create mode 100644 application/palemoon/themes/windows/sync-16.png create mode 100644 application/palemoon/themes/windows/sync-32.png create mode 100644 application/palemoon/themes/windows/sync-bg.png create mode 100644 application/palemoon/themes/windows/sync-desktopIcon.png create mode 100644 application/palemoon/themes/windows/sync-mobileIcon.png create mode 100644 application/palemoon/themes/windows/sync-notification-24.png create mode 100644 application/palemoon/themes/windows/sync-throbber.png create mode 100644 application/palemoon/themes/windows/syncCommon.css create mode 100644 application/palemoon/themes/windows/syncProgress.css create mode 100644 application/palemoon/themes/windows/syncQuota.css create mode 100644 application/palemoon/themes/windows/syncSetup.css create mode 100644 application/palemoon/themes/windows/tabbrowser/alltabs-inverted.png create mode 100644 application/palemoon/themes/windows/tabbrowser/alltabs.png create mode 100644 application/palemoon/themes/windows/tabbrowser/connecting.png create mode 100644 application/palemoon/themes/windows/tabbrowser/loading.png create mode 100644 application/palemoon/themes/windows/tabbrowser/newtab-glass.png create mode 100644 application/palemoon/themes/windows/tabbrowser/newtab-inverted.png create mode 100644 application/palemoon/themes/windows/tabbrowser/newtab.png create mode 100644 application/palemoon/themes/windows/tabbrowser/tab-arrow-left-glass.png create mode 100644 application/palemoon/themes/windows/tabbrowser/tab-arrow-left-inverted.png create mode 100644 application/palemoon/themes/windows/tabbrowser/tab-arrow-left.png create mode 100644 application/palemoon/themes/windows/tabbrowser/tab-overflow-border.png create mode 100644 application/palemoon/themes/windows/tabbrowser/tabDragIndicator.png create mode 100644 application/palemoon/themes/windows/toolbarbutton-dropdown-arrow-inverted.png create mode 100644 application/palemoon/themes/windows/toolbarbutton-dropdown-arrow.png create mode 100644 application/palemoon/themes/windows/urlbar-arrow.png create mode 100644 application/palemoon/themes/windows/urlbar-history-dropmarker.png create mode 100644 application/palemoon/themes/windows/urlbar-popup-blocked.png create mode 100644 application/palemoon/themes/windows/webRTC-shareDevice-16.png create mode 100644 application/palemoon/themes/windows/webRTC-shareDevice-64.png create mode 100644 application/palemoon/themes/windows/webRTC-sharingDevice-16.png create mode 100644 application/palemoon/themes/windows/webapps-16.png create mode 100644 application/palemoon/themes/windows/webapps-64.png diff --git a/application/palemoon/LICENSE b/application/palemoon/LICENSE new file mode 100644 index 000000000..e3b716096 --- /dev/null +++ b/application/palemoon/LICENSE @@ -0,0 +1,7 @@ +Please see the file ../toolkit/content/license.html for the copyright +licensing conditions attached to this codebase, including copies of the +licenses concerned. + +You are not granted rights or licenses to the trademarks of the +Mozilla Foundation, Moonchild Productions or any party, including without +limitation the Pale Moon name or logo. diff --git a/application/palemoon/Makefile.in b/application/palemoon/Makefile.in new file mode 100644 index 000000000..92527eaa8 --- /dev/null +++ b/application/palemoon/Makefile.in @@ -0,0 +1,13 @@ +# 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 $(topsrcdir)/config/rules.mk + +ifdef MAKENSISU + +# For Windows build the uninstaller during the application build since the +# uninstaller is included with the application for mar file generation. +libs:: + $(MAKE) -C installer/windows uninstaller +endif diff --git a/application/palemoon/app-rules.mk b/application/palemoon/app-rules.mk new file mode 100644 index 000000000..2c3165304 --- /dev/null +++ b/application/palemoon/app-rules.mk @@ -0,0 +1 @@ +PURGECACHES_DIRS = $(DIST)/bin/browser diff --git a/application/palemoon/app.mozbuild b/application/palemoon/app.mozbuild new file mode 100644 index 000000000..0cbce0f72 --- /dev/null +++ b/application/palemoon/app.mozbuild @@ -0,0 +1,17 @@ +# 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 not CONFIG['LIBXUL_SDK']: + include('/toolkit/toolkit.mozbuild') + +if CONFIG['MOZ_EXTENSIONS']: + DIRS += ['/extensions'] + +DIRS += ['/%s' % CONFIG['MOZ_BRANDING_DIRECTORY']] + +# Never add tier dirs after browser because they apparently won't get +# packaged properly on Mac. +DIRS += ['/browser'] + diff --git a/application/palemoon/app/Makefile.in b/application/palemoon/app/Makefile.in new file mode 100644 index 000000000..580fcb164 --- /dev/null +++ b/application/palemoon/app/Makefile.in @@ -0,0 +1,116 @@ +# 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) + +# hardcode en-US for the moment +AB_CD = en-US + +DEFINES += \ + -DAB_CD=$(AB_CD) \ + -DAPP_VERSION="$(MOZ_APP_VERSION)" \ + -DFIREFOX_ICO=\"$(DIST)/branding/firefox.ico\" \ + -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\" \ + -DNEWWINDOW_ICO=\"$(DIST)/branding/newwindow.ico\" \ + -DNEWTAB_ICO=\"$(DIST)/branding/newtab.ico\" \ + -DPBMODE_ICO=\"$(DIST)/branding/pbmode.ico\" \ + $(NULL) + +# Build a binary bootstrapping with XRE_main + +ifndef MOZ_WINCONSOLE +ifdef MOZ_DEBUG +MOZ_WINCONSOLE = 1 +else +MOZ_WINCONSOLE = 0 +endif +endif + +# This switches $(INSTALL) to copy mode, like $(SYSINSTALL), so things that +# shouldn't get 755 perms need $(IFLAGS1) for either way of calling nsinstall. +NSDISTMODE = copy + +include $(topsrcdir)/config/config.mk + +ifeq ($(OS_ARCH),WINNT) +# Rebuild firefox.exe if the manifest changes - it's included by splash.rc. +# (this dependency should really be just for firefox.exe, not other targets) +EXTRA_DEPS += $(PROGRAM).manifest +endif + +PROGRAMS_DEST = $(DIST)/bin + +include $(topsrcdir)/config/rules.mk + +ifneq (,$(filter-out WINNT,$(OS_ARCH))) + +ifdef COMPILE_ENVIRONMENT +libs:: + cp -p $(MOZ_APP_NAME)$(BIN_SUFFIX) $(DIST)/bin/$(MOZ_APP_NAME)-bin$(BIN_SUFFIX) +endif + +GARBAGE += $(addprefix $(FINAL_TARGET)/defaults/pref/, palemoon.js) + +endif + +ifdef MOZ_WIDGET_GTK +libs:: + $(INSTALL) $(IFLAGS1) $(DIST)/branding/mozicon128.png $(FINAL_TARGET)/icons + $(INSTALL) $(IFLAGS1) $(DIST)/branding/default16.png $(FINAL_TARGET)/chrome/icons/default + $(INSTALL) $(IFLAGS1) $(DIST)/branding/default32.png $(FINAL_TARGET)/chrome/icons/default + $(INSTALL) $(IFLAGS1) $(DIST)/branding/default48.png $(FINAL_TARGET)/chrome/icons/default +endif + +ifndef LIBXUL_SDK +# 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) +endif + +ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) + +MAC_APP_NAME = $(MOZ_APP_DISPLAYNAME) + +ifdef MOZ_DEBUG +MAC_APP_NAME := $(MAC_APP_NAME)Debug +endif + +AB_CD = $(MOZ_UI_LOCALE) + +AB := $(firstword $(subst -, ,$(AB_CD))) + +clean clobber repackage:: + $(RM) -r $(dist_dest) + +MAC_BUNDLE_VERSION = $(shell $(PYTHON) $(srcdir)/macversion.py --version=$(MOZ_APP_VERSION) --buildid=$(DEPTH)/config/buildid) + +.PHONY: repackage +tools repackage:: $(PROGRAM) + $(MKDIR) -p $(dist_dest)/Contents/MacOS + $(MKDIR) -p $(dist_dest)/Contents/Resources/$(AB).lproj + rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents $(dist_dest) --exclude English.lproj + rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents/Resources/English.lproj/ $(dist_dest)/Contents/Resources/$(AB).lproj + sed -e 's/%APP_VERSION%/$(MOZ_APP_VERSION)/' -e 's/%MAC_APP_NAME%/$(MAC_APP_NAME)/' -e 's/%MOZ_MACBUNDLE_ID%/$(MOZ_MACBUNDLE_ID)/' -e 's/%MAC_BUNDLE_VERSION%/$(MAC_BUNDLE_VERSION)/' $(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)/Contents/Resources/$(AB).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 + $(RM) $(dist_dest)/Contents/MacOS/$(PROGRAM) + rsync -aL $(PROGRAM) $(dist_dest)/Contents/MacOS + cp -RL $(DIST)/branding/firefox.icns $(dist_dest)/Contents/Resources/firefox.icns + cp -RL $(DIST)/branding/document.icns $(dist_dest)/Contents/Resources/document.icns + printf APPLMOZB > $(dist_dest)/Contents/PkgInfo +endif + +ifdef LIBXUL_SDK #{ +ifndef SKIP_COPY_XULRUNNER #{ +libs:: +ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) #{ + rsync -a --copy-unsafe-links $(LIBXUL_DIST)/XUL.framework $(dist_dest)/Contents/Frameworks +else + $(NSINSTALL) -D $(DIST)/bin/xulrunner + (cd $(LIBXUL_SDK)/bin && tar $(TAR_CREATE_FLAGS) - .) | (cd $(DIST)/bin/xulrunner && tar -xf -) +endif #} cocoa +endif #} SKIP_COPY_XULRUNNER +endif #} LIBXUL_SDK diff --git a/application/palemoon/app/blocklist.xml b/application/palemoon/app/blocklist.xml new file mode 100644 index 000000000..9c64af987 --- /dev/null +++ b/application/palemoon/app/blocklist.xml @@ -0,0 +1,3887 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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.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.startup.homepage + 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.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://java.com/ + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://java.com/ + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + + + + + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://real.com/ + + + + + https://get.adobe.com/shockwave/ + + + + + https://get.adobe.com/shockwave/ + + + + + https://java.com/ + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + + + https://java.com/ + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + https://www.adobe.com/products/flashplayer/distribution3.html + + + + + WINNT 6.1 + 0x10de + + 0x0a6c + + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.17.12.5896 + + LESS_THAN_OR_EQUAL + + + WINNT 6.1 + 0x10de + + 0x0a6c + + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.17.12.5896 + + LESS_THAN_OR_EQUAL + + + WINNT 5.1 + 0x10de + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 7.0.0.0 + + GREATER_THAN_OR_EQUAL + + + All + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + All + 0x1022 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + All + 0x1022 + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + All + 0x1002 + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + WINNT 6.2 + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 9.10.8.0 + + LESS_THAN_OR_EQUAL + + + WINNT 6.2 + 0x1022 + DIRECT2D + BLOCKED_DRIVER_VERSION + 9.10.8.0 + + LESS_THAN_OR_EQUAL + + + Darwin 10 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 11 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 12 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 10 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 11 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 12 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 10 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 11 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 12 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + WINNT 6.1 + 0x1002 + + 0x68e1 + 0x68e4 + 0x68e5 + 0x68f9 + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + DIRECT2D + BLOCKED_DEVICE + + + WINNT 6.1 + 0x1002 + + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + DIRECT3D_9_LAYERS + BLOCKED_DEVICE + + + WINNT 10.0 + 0x1002 + + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + DIRECT2D + BLOCKED_DRIVER_VERSION + 15.201.1151.0 + LESS_THAN + + + All + 0x8086 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.15.10.2413 + + LESS_THAN_OR_EQUAL + + + WINNT 8.1 + 0x1002 + + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + DIRECT2D + BLOCKED_DRIVER_VERSION + 15.201.1151.0 + LESS_THAN + + + 0x8086 + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION + 8.15.10.1851 + EQUAL + + + 0x8086 + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION + 8.15.10.1855 + EQUAL + + + 0x8086 + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION + 8.15.10.1872 + EQUAL + + + 0x8086 + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION + 8.15.10.1883 + EQUAL + + + 0x8086 + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION + 8.15.10.1892 + EQUAL + + + 0x8086 + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION + 8.15.10.1994 + EQUAL + + + diff --git a/application/palemoon/app/macbuild/Contents/CodeResources b/application/palemoon/app/macbuild/Contents/CodeResources new file mode 100644 index 000000000..1a65e20cb --- /dev/null +++ b/application/palemoon/app/macbuild/Contents/CodeResources @@ -0,0 +1 @@ +_CodeSignature/CodeResources \ No newline at end of file diff --git a/application/palemoon/app/macbuild/Contents/Info.plist.in b/application/palemoon/app/macbuild/Contents/Info.plist.in new file mode 100644 index 000000000..c77ab1ec5 --- /dev/null +++ b/application/palemoon/app/macbuild/Contents/Info.plist.in @@ -0,0 +1,222 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + html + htm + shtml + xht + xhtml + + CFBundleTypeIconFile + document.icns + CFBundleTypeName + HTML Document + CFBundleTypeOSTypes + + HTML + + CFBundleTypeRole + Viewer + + + CFBundleTypeExtensions + + svg + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + image/svg+xml + + CFBundleTypeName + SVG document + CFBundleTypeOSTypes + + TEXT + + CFBundleTypeRole + Viewer + NSDocumentClass + BrowserDocument + + + CFBundleTypeExtensions + + text + txt + js + log + css + xul + rdf + + CFBundleTypeIconFile + document.icns + CFBundleTypeName + Text Document + CFBundleTypeOSTypes + + TEXT + utxt + + CFBundleTypeRole + Viewer + + + CFBundleTypeExtensions + + jpeg + jpg + png + gif + + CFBundleTypeIconFile + fileBookmark.icns + CFBundleTypeName + document.icns + CFBundleTypeOSTypes + + GIFf + JPEG + PNGf + + CFBundleTypeRole + Viewer + + + CFBundleTypeExtensions + + oga + ogg + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + audio/ogg + + CFBundleTypeName + HTML5 Audio (Ogg) + CFBundleTypeRole + Viewer + + + CFBundleTypeExtensions + + ogv + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + video/ogg + + CFBundleTypeName + HTML5 Video (Ogg) + CFBundleTypeRole + Viewer + + + CFBundleTypeExtensions + + webm + + CFBundleTypeIconFile + document.icns + CFBundleTypeMIMETypes + + video/webm + + CFBundleTypeName + HTML5 Video (WebM) + CFBundleTypeRole + Viewer + + + CFBundleExecutable + palemoon + CFBundleGetInfoString + %MAC_APP_NAME% %APP_VERSION% + CFBundleIconFile + firefox + CFBundleIdentifier + %MOZ_MACBUNDLE_ID% + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + %MAC_APP_NAME% + CFBundlePackageType + APPL + CFBundleShortVersionString + %APP_VERSION% + CFBundleSignature + MOZB + 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 + + + + CFBundleVersion + %MAC_BUNDLE_VERSION% + NSAppleScriptEnabled + + LSApplicationCategoryType + public.app-category.productivity + LSMinimumSystemVersion + 10.6 + LSMinimumSystemVersionByArchitecture + + i386 + 10.6.0 + x86_64 + 10.6.0 + + NSSupportsAutomaticGraphicsSwitching + + NSPrincipalClass + GoannaNSApplication + + diff --git a/application/palemoon/app/macbuild/Contents/MacOS-files.in b/application/palemoon/app/macbuild/Contents/MacOS-files.in new file mode 100644 index 000000000..561366def --- /dev/null +++ b/application/palemoon/app/macbuild/Contents/MacOS-files.in @@ -0,0 +1,10 @@ +/*.app/*** +/*.dylib +/certutil +/firefox-bin +/gtest/*** +/pk12util +/ssltunnel +/xpcshell +/XUL + diff --git a/application/palemoon/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in b/application/palemoon/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in new file mode 100644 index 000000000..74d192cb0 --- /dev/null +++ b/application/palemoon/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in @@ -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/. */ + +CFBundleName = "%MAC_APP_NAME%"; diff --git a/application/palemoon/app/macbuild/Contents/_CodeSignature/CodeResources b/application/palemoon/app/macbuild/Contents/_CodeSignature/CodeResources new file mode 100644 index 000000000..6f6e20eff --- /dev/null +++ b/application/palemoon/app/macbuild/Contents/_CodeSignature/CodeResources @@ -0,0 +1,71 @@ + + + + + rules + + ^Info.plist$ + + ^PkgInfo$ + + ^MacOS/ + + ^Resources/ + + ^MacOS/distribution/.* + omit + + weight + 10 + + ^MacOS/override.ini + omit + + weight + 10 + + ^MacOS/updates/.* + omit + + weight + 10 + + ^MacOS/active-update.xml$ + omit + + weight + 10 + + ^MacOS/defaults/.* + omit + + weight + 10 + + ^MacOS/removed-files$ + omit + + weight + 10 + + ^MacOS/updates.xml$ + omit + + weight + 10 + + ^Updated.app/.* + omit + + weight + 10 + + ^updating/.* + omit + + weight + 10 + + + + diff --git a/application/palemoon/app/macversion.py b/application/palemoon/app/macversion.py new file mode 100644 index 000000000..8c360368e --- /dev/null +++ b/application/palemoon/app/macversion.py @@ -0,0 +1,44 @@ +#!/usr/bin/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/. + + +from optparse import OptionParser +import sys +import re + +o = OptionParser() +o.add_option("--buildid", dest="buildid") +o.add_option("--version", dest="version") + +(options, args) = o.parse_args() + +if not options.buildid: + print >>sys.stderr, "--buildid is required" + sys.exit(1) + +if not options.version: + print >>sys.stderr, "--version is required" + sys.exit(1) + +# We want to build a version number that matches the format allowed for +# CFBundleVersion (nnnnn[.nn[.nn]]). We'll incorporate both the version +# number as well as the date, so that it changes at least daily (for nightly +# builds), but also so that newly-built older versions (e.g. beta build) aren't +# considered "newer" than previously-built newer versions (e.g. a trunk nightly) + +buildid = open(options.buildid, 'r').read() + +# extract only the major version (i.e. "14" from "14.0b1") +majorVersion = re.match(r'^(\d+)[^\d].*', options.version).group(1) +# last two digits of the year +twodigityear = buildid[2:4] +month = buildid[4:6] +if month[0] == '0': + month = month[1] +day = buildid[6:8] +if day[0] == '0': + day = day[1] + +print '%s.%s.%s' % (majorVersion + twodigityear, month, day) diff --git a/application/palemoon/app/module.ver b/application/palemoon/app/module.ver new file mode 100644 index 000000000..7a00230cf --- /dev/null +++ b/application/palemoon/app/module.ver @@ -0,0 +1,8 @@ +WIN32_MODULE_COMPANYNAME=Moonchild Productions +WIN32_MODULE_COPYRIGHT=©Pale Moon, Firefox and Mozilla Developers, available under the MPL 2.0. +WIN32_MODULE_PRODUCTVERSION=@MOZ_APP_WINVERSION@ +WIN32_MODULE_PRODUCTVERSION_STRING=@MOZ_APP_VERSION@ +WIN32_MODULE_TRADEMARKS=The Pale Moon logo and project names are the property of Moonchild Productions. +WIN32_MODULE_DESCRIPTION=Pale Moon web browser +WIN32_MODULE_PRODUCTNAME=Pale Moon +WIN32_MODULE_NAME=Pale Moon diff --git a/application/palemoon/app/moz.build b/application/palemoon/app/moz.build new file mode 100644 index 000000000..929139a6a --- /dev/null +++ b/application/palemoon/app/moz.build @@ -0,0 +1,91 @@ +# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- +# 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 += ['profile/extensions'] + + +if CONFIG['OS_ARCH'] == 'WINNT' and CONFIG['MOZ_ASAN']: + GoannaProgram(CONFIG['MOZ_APP_NAME']) +else: + GoannaProgram(CONFIG['MOZ_APP_NAME'], msvcrt='static') + +JS_PREFERENCE_FILES += [ + 'profile/palemoon.js', +] + +if CONFIG['LIBXUL_SDK']: + PREF_JS_EXPORTS += [ + 'profile/channel-prefs.js', + ] + +SOURCES += [ + 'nsBrowserApp.cpp', +] + +FINAL_TARGET_FILES += ['blocklist.xml'] +FINAL_TARGET_FILES.defaults.profile += ['profile/prefs.js'] + +DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION'] + +for var in ('MOZILLA_OFFICIAL', 'LIBXUL_SDK'): + if CONFIG[var]: + DEFINES[var] = True + +DEFINES['XPCOM_GLUE'] = True + +GENERATED_INCLUDES += [ + '/build', +] + +LOCAL_INCLUDES += [ + '/toolkit/xre', + '/xpcom/base', + '/xpcom/build', +] + +DELAYLOAD_DLLS += [ + 'mozglue.dll', +] +USE_STATIC_LIBS = True + + +if CONFIG['_MSC_VER']: + # Always enter a Windows program through wmain, whether or not we're + # a console application. + WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup'] + +if CONFIG['OS_ARCH'] == 'WINNT': + RCINCLUDE = 'splash.rc' + DEFINES['MOZ_PHOENIX'] = True + +# 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 not CONFIG['GNU_CC']: + LDFLAGS += ['/HEAP:0x40000'] + +if CONFIG['OS_ARCH'] == 'WINNT': + USE_LIBS += [ + 'mozglue', + 'xpcomglue_staticruntime', + ] +else: + USE_LIBS += [ + 'xpcomglue', + ] + +DISABLE_STL_WRAPPING = True + +if CONFIG['MOZ_LINKER']: + OS_LIBS += CONFIG['MOZ_ZLIB_LIBS'] + +if CONFIG['HAVE_CLOCK_MONOTONIC']: + OS_LIBS += CONFIG['REALTIME_LIBS'] diff --git a/application/palemoon/app/nsBrowserApp.cpp b/application/palemoon/app/nsBrowserApp.cpp new file mode 100644 index 000000000..f9645b0c6 --- /dev/null +++ b/application/palemoon/app/nsBrowserApp.cpp @@ -0,0 +1,452 @@ +/* -*- 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 "mozilla/AppData.h" +#include "application.ini.h" +#include "nsXPCOMGlue.h" +#if defined(XP_WIN) +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x0600 +#include +#include +#include +#include +#include +#include +#elif defined(XP_UNIX) +#include +#include +#include +#endif + +#ifdef XP_MACOSX +#include +#include "MacQuirks.h" +#endif + +#include +#include +#include + +#include "nsCOMPtr.h" +#include "nsIFile.h" +#include "nsStringGlue.h" + +// Easy access to a five second startup delay used to get +// a debugger attached in the metro environment. +// #define DEBUG_delay_start_metro + +#ifdef XP_WIN +// we want a wmain entry point +#include "nsWindowsWMain.cpp" +#define snprintf _snprintf +#define strcasecmp _stricmp +#endif +#include "BinaryPath.h" + +#include "nsXPCOMPrivate.h" // for MAXPATHLEN and XPCOM_DLL +#include "mozilla/StartupTimeline.h" + +using namespace mozilla; + +#ifdef XP_MACOSX +#define kOSXResourcesFolder "Resources" +#endif +#define kDesktopFolder "browser" +#define kMetroFolder "metro" +#define kMetroAppIniFilename "metroapp.ini" +#ifdef XP_WIN +#define kMetroTestFile "tests.ini" +const char* kMetroConsoleIdParam = "testconsoleid="; +#endif + +static 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 + MessageBoxW(nullptr, + wide_msg, + L"Pale Moon", + MB_OK | MB_ICONERROR | MB_SETFOREGROUND); +#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; +} + +#ifdef XP_WIN +/* + * AttachToTestHarness - Windows helper for when we are running + * in the immersive environment. Firefox is launched by Windows in + * response to a request by metrotestharness, which is launched by + * runtests.py. As such stdout in fx doesn't point to the right + * stream. This helper touches up stdout such that test output gets + * routed to a named pipe metrotestharness creates and dumps to its + * stdout. + */ +static void AttachToTestHarness() +{ + // attach to the metrotestharness named logging pipe + HANDLE winOut = CreateFileA("\\\\.\\pipe\\metrotestharness", + GENERIC_WRITE, + FILE_SHARE_WRITE, 0, + OPEN_EXISTING, 0, 0); + + if (winOut == INVALID_HANDLE_VALUE) { + OutputDebugStringW(L"Could not create named logging pipe.\n"); + return; + } + + // Set the c runtime handle + int stdOut = _open_osfhandle((intptr_t)winOut, _O_APPEND); + if (stdOut == -1) { + OutputDebugStringW(L"Could not open c-runtime handle.\n"); + return; + } + FILE *fp = _fdopen(stdOut, "a"); + *stdout = *fp; +} +#endif + +XRE_GetFileFromPathType XRE_GetFileFromPath; +XRE_CreateAppDataType XRE_CreateAppData; +XRE_FreeAppDataType XRE_FreeAppData; +#ifdef XRE_HAS_DLL_BLOCKLIST +XRE_SetupDllBlocklistType XRE_SetupDllBlocklist; +#endif +XRE_StartupTimelineRecordType XRE_StartupTimelineRecord; +XRE_mainType XRE_main; +XRE_StopLateWriteChecksType XRE_StopLateWriteChecks; + +static const nsDynamicFunctionLoad kXULFuncs[] = { + { "XRE_GetFileFromPath", (NSFuncPtr*) &XRE_GetFileFromPath }, + { "XRE_CreateAppData", (NSFuncPtr*) &XRE_CreateAppData }, + { "XRE_FreeAppData", (NSFuncPtr*) &XRE_FreeAppData }, +#ifdef XRE_HAS_DLL_BLOCKLIST + { "XRE_SetupDllBlocklist", (NSFuncPtr*) &XRE_SetupDllBlocklist }, +#endif + { "XRE_StartupTimelineRecord", (NSFuncPtr*) &XRE_StartupTimelineRecord }, + { "XRE_main", (NSFuncPtr*) &XRE_main }, + { "XRE_StopLateWriteChecks", (NSFuncPtr*) &XRE_StopLateWriteChecks }, + { nullptr, nullptr } +}; + +static int do_main(int argc, char* argv[], nsIFile *xreDirectory) +{ + nsCOMPtr appini; + nsresult rv; + uint32_t mainFlags = 0; + +#ifdef XP_WIN + if (!IsWindowsVistaOrGreater()) { + Output("Couldn't load valid PE image.\n"); + return 255; + } + +#endif + // Allow palemoon.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) { + rv = XRE_GetFileFromPath(appDataFile, getter_AddRefs(appini)); + if (NS_FAILED(rv)) { + Output("Invalid path found: '%s'", appDataFile); + return 255; + } + } + else if (argc > 1 && IsArg(argv[1], "app")) { + if (argc == 2) { + Output("Incorrect number of arguments passed to -app"); + return 255; + } + + rv = XRE_GetFileFromPath(argv[2], getter_AddRefs(appini)); + if (NS_FAILED(rv)) { + Output("application.ini path not recognized: '%s'", argv[2]); + return 255; + } + + char appEnv[MAXPATHLEN]; + snprintf(appEnv, MAXPATHLEN, "XUL_APP_FILE=%s", argv[2]); + if (putenv(appEnv)) { + Output("Couldn't set %s.\n", appEnv); + return 255; + } + argv[2] = argv[0]; + argv += 2; + argc -= 2; + } + + if (appini) { + nsXREAppData *appData; + rv = XRE_CreateAppData(appini, &appData); + if (NS_FAILED(rv)) { + Output("Couldn't read application.ini"); + return 255; + } + // xreDirectory already has a refcount from NS_NewLocalFile + appData->xreDirectory = xreDirectory; + int result = XRE_main(argc, argv, appData, mainFlags); + XRE_FreeAppData(appData); + return result; + } + + // Desktop browser launch + ScopedAppData appData(&sAppData); + nsCOMPtr exeFile; + rv = mozilla::BinaryPath::GetFile(argv[0], getter_AddRefs(exeFile)); + if (NS_FAILED(rv)) { + Output("Couldn't find the application directory.\n"); + return 255; + } + + nsCOMPtr greDir; + exeFile->GetParent(getter_AddRefs(greDir)); +#ifdef XP_MACOSX + nsCOMPtr parent; + greDir->GetParent(getter_AddRefs(parent)); + greDir = parent.forget(); + greDir->AppendNative(NS_LITERAL_CSTRING(kOSXResourcesFolder)); +#endif + nsCOMPtr appSubdir; + greDir->Clone(getter_AddRefs(appSubdir)); + appSubdir->Append(NS_LITERAL_STRING(kDesktopFolder)); + + SetStrongPtr(appData.directory, static_cast(appSubdir.get())); + // xreDirectory already has a refcount from NS_NewLocalFile + appData.xreDirectory = xreDirectory; + + return XRE_main(argc, argv, &appData, mainFlags); +} + +/** + * Local TimeStamp::Now()-compatible implementation used to record timestamps + * which will be passed to XRE_StartupTimelineRecord(). + */ +static uint64_t +TimeStamp_Now() +{ +#ifdef XP_WIN + LARGE_INTEGER freq; + ::QueryPerformanceFrequency(&freq); + return GetTickCount64() * freq.QuadPart; +#elif defined(XP_MACOSX) + return mach_absolute_time(); +#elif defined(HAVE_CLOCK_MONOTONIC) + struct timespec ts; + int rv = clock_gettime(CLOCK_MONOTONIC, &ts); + + if (rv != 0) { + return 0; + } + + uint64_t baseNs = (uint64_t)ts.tv_sec * 1000000000; + return baseNs + (uint64_t)ts.tv_nsec; +#endif +} + +static bool +FileExists(const char *path) +{ +#ifdef XP_WIN + wchar_t wideDir[MAX_PATH]; + MultiByteToWideChar(CP_UTF8, 0, path, -1, wideDir, MAX_PATH); + DWORD fileAttrs = GetFileAttributesW(wideDir); + return fileAttrs != INVALID_FILE_ATTRIBUTES; +#else + return access(path, R_OK) == 0; +#endif +} + +#ifdef LIBXUL_SDK +# define XPCOM_PATH "xulrunner" XPCOM_FILE_PATH_SEPARATOR XPCOM_DLL +#else +# define XPCOM_PATH XPCOM_DLL +#endif +static nsresult +InitXPCOMGlue(const char *argv0, nsIFile **xreDirectory) +{ + char exePath[MAXPATHLEN]; + + nsresult rv = mozilla::BinaryPath::Get(argv0, exePath); + if (NS_FAILED(rv)) { + Output("Couldn't find the application directory.\n"); + return rv; + } + + char *lastSlash = strrchr(exePath, XPCOM_FILE_PATH_SEPARATOR[0]); + if (!lastSlash || (size_t(lastSlash - exePath) > MAXPATHLEN - sizeof(XPCOM_PATH) - 1)) + return NS_ERROR_FAILURE; + + strcpy(lastSlash + 1, XPCOM_PATH); + lastSlash += sizeof(XPCOM_PATH) - sizeof(XPCOM_DLL); + + if (!FileExists(exePath)) { +#if defined(LIBXUL_SDK) && defined(XP_MACOSX) + // Check for /Contents/Frameworks/XUL.framework/libxpcom.dylib + bool greFound = false; + CFBundleRef appBundle = CFBundleGetMainBundle(); + if (!appBundle) + return NS_ERROR_FAILURE; + CFURLRef fwurl = CFBundleCopyPrivateFrameworksURL(appBundle); + CFURLRef absfwurl = nullptr; + if (fwurl) { + absfwurl = CFURLCopyAbsoluteURL(fwurl); + CFRelease(fwurl); + } + if (absfwurl) { + CFURLRef xulurl = + CFURLCreateCopyAppendingPathComponent(nullptr, absfwurl, + CFSTR("XUL.framework"), + true); + + if (xulurl) { + CFURLRef xpcomurl = + CFURLCreateCopyAppendingPathComponent(nullptr, xulurl, + CFSTR("libxpcom.dylib"), + false); + + if (xpcomurl) { + if (CFURLGetFileSystemRepresentation(xpcomurl, true, + (UInt8*) exePath, + sizeof(exePath)) && + access(tbuffer, R_OK | X_OK) == 0) { + if (realpath(tbuffer, exePath)) { + greFound = true; + } + } + CFRelease(xpcomurl); + } + CFRelease(xulurl); + } + CFRelease(absfwurl); + } + } + if (!greFound) { +#endif + Output("Could not find the Mozilla runtime.\n"); + return NS_ERROR_FAILURE; + } + + // We do this because of data in bug 771745 + XPCOMGlueEnablePreload(); + + rv = XPCOMGlueStartup(exePath); + if (NS_FAILED(rv)) { + Output("Couldn't load XPCOM.\n"); + return rv; + } + + rv = XPCOMGlueLoadXULFunctions(kXULFuncs); + if (NS_FAILED(rv)) { + Output("Couldn't load XRE functions.\n"); + return rv; + } + + NS_LogInit(); + + // chop XPCOM_DLL off exePath + *lastSlash = '\0'; +#ifdef XP_MACOSX + lastSlash = strrchr(exePath, XPCOM_FILE_PATH_SEPARATOR[0]); + strcpy(lastSlash + 1, kOSXResourcesFolder); +#endif +#ifdef XP_WIN + rv = NS_NewLocalFile(NS_ConvertUTF8toUTF16(exePath), false, + xreDirectory); +#else + rv = NS_NewNativeLocalFile(nsDependentCString(exePath), false, + xreDirectory); +#endif + + return rv; +} + +int main(int argc, char* argv[]) +{ +#ifdef DEBUG_delay_start_metro + Sleep(5000); +#endif + uint64_t start = TimeStamp_Now(); + +#ifdef XP_MACOSX + TriggerQuirks(); +#endif + + int gotCounters; +#if defined(XP_UNIX) + struct rusage initialRUsage; + gotCounters = !getrusage(RUSAGE_SELF, &initialRUsage); +#elif defined(XP_WIN) + IO_COUNTERS ioCounters; + gotCounters = GetProcessIoCounters(GetCurrentProcess(), &ioCounters); +#endif + + nsIFile *xreDirectory; + + nsresult rv = InitXPCOMGlue(argv[0], &xreDirectory); + if (NS_FAILED(rv)) { + return 255; + } + + XRE_StartupTimelineRecord(mozilla::StartupTimeline::START, start); + +#ifdef XRE_HAS_DLL_BLOCKLIST + XRE_SetupDllBlocklist(); +#endif + + int result = do_main(argc, argv, xreDirectory); + + 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. + XRE_StopLateWriteChecks(); +#endif + + return result; +} diff --git a/application/palemoon/app/palemoon.exe.manifest b/application/palemoon/app/palemoon.exe.manifest new file mode 100644 index 000000000..465effa44 --- /dev/null +++ b/application/palemoon/app/palemoon.exe.manifest @@ -0,0 +1,48 @@ + + + +Pale Moon + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + diff --git a/application/palemoon/app/profile/channel-prefs.js b/application/palemoon/app/profile/channel-prefs.js new file mode 100644 index 000000000..feb27c1a3 --- /dev/null +++ b/application/palemoon/app/profile/channel-prefs.js @@ -0,0 +1,6 @@ +#filter substitution +/* 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/application/palemoon/app/profile/extensions/moz.build b/application/palemoon/app/profile/extensions/moz.build new file mode 100644 index 000000000..df4318205 --- /dev/null +++ b/application/palemoon/app/profile/extensions/moz.build @@ -0,0 +1,7 @@ +# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- +# 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 += ['{972ce4c6-7e08-4474-a285-3208198ce6fd}'] diff --git a/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/Makefile.in b/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/Makefile.in new file mode 100644 index 000000000..ff9319df9 --- /dev/null +++ b/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/Makefile.in @@ -0,0 +1,10 @@ +# +# 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/. + +FILES := \ + install.rdf.in \ + $(NULL) +FILES_PATH = $(FINAL_TARGET)/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} +PP_TARGETS := FILES diff --git a/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in b/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in new file mode 100644 index 000000000..f49501300 --- /dev/null +++ b/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf.in @@ -0,0 +1,40 @@ + + + + +#filter substitution + + + + + {972ce4c6-7e08-4474-a285-3208198ce6fd} + @MOZ_APP_VERSION@ + + + + + @MOZ_APP_ID@ + @MOZ_APP_VERSION@ + @MOZ_APP_VERSION@ + + + + + Default + The default theme. + + + Moonchild Productions + Mozilla Contributors + + + true + + classic/1.0 + + + diff --git a/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/moz.build b/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/moz.build new file mode 100644 index 000000000..e14ac8e21 --- /dev/null +++ b/application/palemoon/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/moz.build @@ -0,0 +1,8 @@ +# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- +# 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/. + +DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION'] +DEFINES['MOZ_APP_ID'] = CONFIG['MOZ_APP_ID'] \ No newline at end of file diff --git a/application/palemoon/app/profile/pagethemes.rdf b/application/palemoon/app/profile/pagethemes.rdf new file mode 100644 index 000000000..3d09b95f5 --- /dev/null +++ b/application/palemoon/app/profile/pagethemes.rdf @@ -0,0 +1,7 @@ + + + + + diff --git a/application/palemoon/app/profile/palemoon.js b/application/palemoon/app/profile/palemoon.js new file mode 100644 index 000000000..7338a83a2 --- /dev/null +++ b/application/palemoon/app/profile/palemoon.js @@ -0,0 +1,1156 @@ +# -*- Mode: JavaScript; tab-width: 4; 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/. + +// XXX Toolkit-specific preferences should be moved into toolkit.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. +# + +#ifdef XP_UNIX +#ifndef XP_MACOSX +#define UNIX_BUT_NOT_MAC +#endif +#endif + +pref("browser.chromeURL","chrome://browser/content/"); +pref("browser.hiddenWindowChromeURL", "chrome://browser/content/hiddenWindow.xul"); + +// Display the "Get Add-ons" pane in the Add-on Manager +pref("extensions.getAddons.showPane", true); + +// Enables some extra Extension System Logging (can reduce performance) +pref("extensions.logging.enabled", false); + +// Disables strict compatibility, making addons compatible-by-default. +pref("extensions.strictCompatibility", false); + +// Specifies a minimum maxVersion an addon needs to say it's compatible with +// for it to be compatible by default. +pref("extensions.minCompatibleAppVersion", "1.5"); + +// Preferences for AMO integration +pref("extensions.getAddons.cache.enabled", true); +pref("extensions.getAddons.maxResults", 15); +pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%"); +pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%"); +pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%"); +pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=firefox"); +pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%/%COMPATIBILITY_MODE%"); +pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/%OS%/%VERSION%?src=firefox"); + +// Blocklist preferences +pref("extensions.blocklist.enabled", true); +pref("extensions.blocklist.interval", 86400); +pref("extensions.blocklist.level.updated", false); +// Controls what level the blocklist switches from warning about items to forcibly +// blocking them. +pref("extensions.blocklist.level", 2); +pref("extensions.blocklist.url", "https://addons.mozilla.org/blocklist/3/%APP_ID%/%APP_VERSION%/%PRODUCT%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/%PING_COUNT%/%TOTAL_PING_COUNT%/%DAYS_SINCE_LAST_PING%/"); +pref("extensions.blocklist.detailsURL", "https://www.mozilla.org/%LOCALE%/blocklist/"); +pref("extensions.blocklist.itemURL", "https://addons.mozilla.org/%LOCALE%/%APP%/blocked/%blockID%"); + +pref("extensions.update.autoUpdateDefault", true); + +// Disable add-ons that are not installed by the user in all scopes by default. +// See the SCOPE constants in AddonManager.jsm for values to use here. +pref("extensions.autoDisableScopes", 15); + +// Dictionary download preference +pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/"); + +// Get More Tools link URL +pref("browser.getdevtools.url","https://addons.mozilla.org/firefox/collections/mozilla/webdeveloper/"); + +// Feedback URL +pref("browser.feedback.url", "https://forum.palemoon.org"); + +// Help button in slow startup dialog +pref("browser.slowstartup.help.url", "http://www.palemoon.org/support/slowstartup.shtml"); + +// Whether to escape to a content-less page if a user presses "Get me out of here" +// on a network error page (e.g. cert error) +pref("browser.escape_to_blank", false); + +// The minimum delay in seconds for the timer to fire. +// default=2 minutes +pref("app.update.timerMinimumDelay", 120); + +// App-specific update preferences + +// The interval to check for updates (app.update.interval) is defined in +// palemoon-branding.js + +// Alternative windowtype for an application update user interface window. When +// a window with this windowtype is open the application update service won't +// open the normal application update user interface window. +pref("app.update.altwindowtype", "Browser:About"); + +// 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 the +// |app.update.url.override| user preference has been set for testing updates or +// when the |app.update.cert.checkAttributes| preference is set to false. Also, +// the |app.update.url.override| preference should ONLY be used for testing. +pref("app.update.certs.1.issuerName", "CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB"); +pref("app.update.certs.1.commonName", "*.palemoon.org"); + +// Whether or not app updates are enabled +pref("app.update.enabled", true); + +// This preference turns on app.update.mode and allows automatic download and +// install to take place. We use a separate boolean toggle for this to make +// the UI easier to construct. +pref("app.update.auto", true); + +// See chart in nsUpdateService.js source for more details +pref("app.update.mode", 1); + +// If set to true, the Update Service will present no UI for any event. +pref("app.update.silent", false); + +// If set to true, the Update Service will apply updates in the background +// when it finishes downloading them. +pref("app.update.staging.enabled", true); + +// Update service URL: +pref("app.update.url", "https://aus3.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml"); +// app.update.url.manual is in branding section +// app.update.url.details is in branding section + +// User-settable override to app.update.url for testing purposes. +//pref("app.update.url.override", ""); + +// app.update.interval is in branding section +// app.update.promptWaitTime is in branding section + +// Show the Update Checking/Ready UI when the user was idle for x seconds +pref("app.update.idletime", 60); + +// Whether or not we show a dialog box informing the user that the update was +// successfully applied. This is off in Firefox by default since we show a +// upgrade start page instead! Other apps may wish to show this UI, and supply +// a whatsNewURL field in their brand.properties that contains a link to a page +// which tells users what's new in this new update. +pref("app.update.showInstalledUI", false); + +// 0 = suppress prompting for incompatibilities if there are updates available +// to newer versions of installed addons that resolve them. +// 1 = suppress prompting for incompatibilities only if there are VersionInfo +// updates available to installed addons that resolve them, not newer +// versions. +pref("app.update.incompatible.mode", 0); + +// Symmetric (can be overridden by individual extensions) update preferences. +// e.g. +// extensions.{GUID}.update.enabled +// extensions.{GUID}.update.url +// .. etc .. +// +pref("extensions.update.enabled", true); +pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); +pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); +pref("extensions.update.interval", 86400); // Check for updates to Extensions and + // Themes every day +// Non-symmetric (not shared by extensions) extension-specific [update] preferences +pref("extensions.dss.enabled", false); // Dynamic Skin Switching +pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next + // restart. + +pref("extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.name", "chrome://browser/locale/browser.properties"); +pref("extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.description", "chrome://browser/locale/browser.properties"); + +pref("xpinstall.whitelist.add", "addons.mozilla.org,www.palemoon.org,addons.palemoon.org"); +pref("xpinstall.whitelist.add.36", ""); +pref("xpinstall.whitelist.add.180", ""); +pref("xpinstall.whitelist.required", false); +// Allow installing XPI add-ons by direct URL requests (no referrer) +pref("xpinstall.whitelist.directRequest", true); +// Allow installing XPI add-ons from file referrers (chrome/file) +pref("xpinstall.whitelist.fileRequest", true); + +pref("extensions.install.requireBuiltInCerts", false); +// Only allow installation of extensions from https, chrome or file schemes +pref("extensions.install.requireSecureOrigin", false); +// Allow installation of distribution/bundles extensions +pref("extensions.installDistroAddons", true); + +pref("lightweightThemes.update.enabled", true); +pref("lightweightThemes.animation.enabled", false); + +pref("keyword.enabled", true); + +pref("general.useragent.locale", "@AB_CD@"); +pref("general.skins.selectedSkin", "classic/1.0"); + +pref("general.smoothScroll", true); +#ifdef UNIX_BUT_NOT_MAC +pref("general.autoScroll", false); +#else +pref("general.autoScroll", true); +#endif + +pref("general.useragent.complexOverride.moodle", false); // bug 797703 + +// At startup, check if we're the default browser and prompt user if not. +pref("browser.shell.checkDefaultBrowser", true); +pref("browser.shell.shortcutFavicons",true); + +// 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session +// The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore +pref("browser.startup.page", 1); +pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties"); + +pref("browser.slowStartup.notificationDisabled", false); +pref("browser.slowStartup.timeThreshold", 60000); +pref("browser.slowStartup.maxSamples", 5); + +pref("browser.enable_automatic_image_resizing", true); +pref("browser.chrome.site_icons", true); +pref("browser.chrome.favicons", true); +// browser.warnOnQuit == false will override all other possible prompts when quitting or restarting +pref("browser.warnOnQuit", true); +// browser.showQuitWarning specifically controls the quit warning dialog. We +// might still show the window closing dialog with showQuitWarning == false. +pref("browser.showQuitWarning", false); +pref("browser.fullscreen.autohide", true); +pref("browser.fullscreen.animateUp", 1); +pref("browser.overlink-delay", 80); + +pref("browser.urlbar.clickSelectsAll", true); +pref("browser.urlbar.doubleClickSelectsAll", false); +pref("browser.urlbar.autoFill", true); +pref("browser.urlbar.autoFill.typed", 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.filter.javascript", true); + +// the maximum number of results to show in autocomplete when doing richResults +pref("browser.urlbar.maxRichResults", 12); +// The amount of time (ms) to wait after the user has stopped typing +// before starting to perform autocomplete. 50 is the default set in +// autocomplete.xml. +pref("browser.urlbar.delay", 50); + +// 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", "@"); + +// The default behavior for the urlbar can be configured to use any combination +// of the match filters with each additional filter adding more results (union). +pref("browser.urlbar.suggest.history", true); +pref("browser.urlbar.suggest.bookmark", true); +pref("browser.urlbar.suggest.openpage", true); + +// Restrictions to current suggestions can also be applied (intersection). +// Typed suggestion works only if history is set to true. +pref("browser.urlbar.suggest.history.onlyTyped", false); + +pref("browser.urlbar.formatting.enabled", true); +pref("browser.urlbar.trimURLs", true); + +// Display punycode in identity panel: +// 0 = Display IDN name +// 1 = Display punycode name for DV domains +// 2 = Also display punycode for HTTP sites if IDN name used +pref("browser.identity.display_punycode", 1); + +// Address bar RSS icon control, show by default +pref("browser.urlbar.rss", true); + +pref("browser.altClickSave", false); + +// Enable logging downloads operations to the Error Console. +pref("browser.download.debug", 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); + +pref("browser.download.useDownloadDir", true); + +pref("browser.download.folderList", 1); +pref("browser.download.manager.showAlertOnComplete", true); +pref("browser.download.manager.showAlertInterval", 2000); +pref("browser.download.manager.retention", 2); +pref("browser.download.manager.showWhenStarting", true); +pref("browser.download.manager.closeWhenDone", false); +pref("browser.download.manager.focusWhenStarting", false); +pref("browser.download.manager.flashCount", 2); +pref("browser.download.manager.addToRecentDocs", true); +pref("browser.download.manager.quitBehavior", 2); +pref("browser.download.manager.scanWhenDone", true); +pref("browser.download.manager.resumeOnWakeDelay", 10000); + +// This records whether or not the panel has been shown at least once. +pref("browser.download.panel.shown", false); + +// This records whether or not at least one session with the Downloads Panel +// enabled has been completed already. +pref("browser.download.panel.firstSessionCompleted", false); + +// search engines URL +pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/"); + +// pointer to the default engine name +pref("browser.search.defaultenginename", "chrome://browser-region/locale/region.properties"); + +// disable logging for the search service by default +pref("browser.search.log", false); + +// Ordering of Search Engines in the Engine list. +pref("browser.search.order.1", "chrome://browser-region/locale/region.properties"); +pref("browser.search.order.2", "chrome://browser-region/locale/region.properties"); +pref("browser.search.order.3", "chrome://browser-region/locale/region.properties"); +pref("browser.search.order.4", "chrome://browser-region/locale/region.properties"); + +// search bar results always open in a new tab +pref("browser.search.openintab", false); + +// context menu searches open in the foreground +pref("browser.search.context.loadInBackground", false); + +// if no result, add the search term so that the panel of the new UI is shown anyway +pref("browser.search.showOneOffButtons", 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); + +#ifdef MOZ_OFFICIAL_BRANDING +// {moz:official} expands to "official" +pref("browser.search.official", true); +#endif + +pref("browser.sessionhistory.max_entries", 50); + +// handle links targeting new windows +// 1=current window/tab, 2=new window, 3=new tab in most recent window +pref("browser.link.open_newwindow", 3); + +// handle external links (i.e. links opened from a different application) +// default: use browser.link.open_newwindow +// 1-3: see browser.link.open_newwindow for interpretation +pref("browser.link.open_newwindow.override.external", -1); + +// 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); + +// If true, this pref causes windows opened by window.open to be forced into new +// tabs (rather than potentially opening separate windows, depending on +// window.open arguments) when the browser is in fullscreen mode. +// We set this differently on Mac because the fullscreen implementation there is +// different. +#ifdef XP_MACOSX +pref("browser.link.open_newwindow.disabled_in_fullscreen", true); +#else +pref("browser.link.open_newwindow.disabled_in_fullscreen", false); +#endif + +// Tabbed browser +pref("browser.tabs.autoHide", false); +pref("browser.tabs.closeWindowWithLastTab", true); +pref("browser.tabs.insertRelatedAfterCurrent", true); +pref("browser.tabs.warnOnClose", true); +pref("browser.tabs.warnOnCloseOtherTabs", true); +pref("browser.tabs.warnOnOpen", true); +pref("browser.tabs.maxOpenBeforeWarn", 15); +pref("browser.tabs.loadInBackground", true); +pref("browser.tabs.opentabfor.middleclick", true); +pref("browser.tabs.loadDivertedInBackground", false); +pref("browser.tabs.loadBookmarksInBackground", false); +pref("browser.tabs.noWindowActivationOnExternal", false); +pref("browser.tabs.tabClipWidth", 140); +pref("browser.tabs.animate", true); +pref("browser.tabs.onTop", true); +#ifdef XP_WIN +pref("browser.tabs.drawInTitlebar", true); +#else +pref("browser.tabs.drawInTitlebar", false); +#endif +pref("browser.tabs.resize_immediately", false); + +// 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", 1); + +// When tabs opened by links in other tabs via a combination of +// browser.link.open_newwindow being set to 3 and target="_blank" etc are +// closed: +// true return to the tab that opened this tab (its owner) +// false return to the adjacent tab (old default) +pref("browser.tabs.selectOwnerOnClose", true); + +pref("browser.allTabs.previews", false); +pref("browser.ctrlTab.previews", false); +pref("browser.ctrlTab.recentlyUsedLimit", 7); + +// 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); + +// Scripts & Windows prefs +pref("dom.disable_open_during_load", true); +pref("javascript.options.showInConsole", true); +#ifdef DEBUG +pref("general.warnOnAboutConfig", false); +#endif + +// This is the pref to control the location bar, change this to true to +// force this - this makes the origin of popup windows more obvious to avoid +// spoofing. We would rather not do it by default because it affects UE for web +// applications, but without it there isn't a really good way to prevent chrome +// spoofing, see bug 337344 +pref("dom.disable_window_open_feature.location", true); +// prevent JS from setting status messages +pref("dom.disable_window_status_change", true); +// allow JS to move and resize existing windows +pref("dom.disable_window_move_resize", false); +// prevent JS from monkeying with window focus, etc +pref("dom.disable_window_flip", true); + +// Disable touch events on Desktop Firefox by default until they are properly +// supported (bug 736048) +pref("dom.w3c_touch_events.enabled", 0); + +// popups.policy 1=allow,2=reject +pref("privacy.popups.policy", 1); +pref("privacy.popups.usecustom", true); +pref("privacy.popups.showBrowserMessage", true); + +pref("privacy.item.cookies", false); + +pref("privacy.clearOnShutdown.history", true); +pref("privacy.clearOnShutdown.formdata", true); +pref("privacy.clearOnShutdown.passwords", false); +pref("privacy.clearOnShutdown.downloads", true); +pref("privacy.clearOnShutdown.cookies", true); +pref("privacy.clearOnShutdown.cache", true); +pref("privacy.clearOnShutdown.sessions", true); +pref("privacy.clearOnShutdown.offlineApps", false); +pref("privacy.clearOnShutdown.siteSettings", false); +pref("privacy.clearOnShutdown.connectivityData", false); + +pref("privacy.cpd.history", true); +pref("privacy.cpd.formdata", true); +pref("privacy.cpd.passwords", false); +pref("privacy.cpd.downloads", true); +pref("privacy.cpd.cookies", true); +pref("privacy.cpd.cache", true); +pref("privacy.cpd.sessions", true); +pref("privacy.cpd.offlineApps", false); +pref("privacy.cpd.siteSettings", false); +pref("privacy.cpd.connectivityData", false); + +// What default should we use for the time span in the sanitizer: +// 0 - Clear everything +// 1 - Last Hour +// 2 - Last 2 Hours +// 3 - Last 4 Hours +// 4 - Today +pref("privacy.sanitize.timeSpan", 1); +pref("privacy.sanitize.sanitizeOnShutdown", false); + +pref("privacy.sanitize.migrateFx3Prefs", false); + +pref("network.proxy.share_proxy_settings", false); // use the same proxy settings for all protocols + +// simple gestures support +pref("browser.gesture.swipe.left", "Browser:BackOrBackDuplicate"); +pref("browser.gesture.swipe.right", "Browser:ForwardOrForwardDuplicate"); +pref("browser.gesture.swipe.up", "cmd_scrollTop"); +pref("browser.gesture.swipe.down", "cmd_scrollBottom"); +#ifdef XP_MACOSX +pref("browser.gesture.pinch.latched", true); +pref("browser.gesture.pinch.threshold", 150); +#else +pref("browser.gesture.pinch.latched", false); +pref("browser.gesture.pinch.threshold", 25); +#endif +#ifdef XP_WIN +// Enabled for touch input display zoom. +pref("browser.gesture.pinch.out", "cmd_fullZoomEnlarge"); +pref("browser.gesture.pinch.in", "cmd_fullZoomReduce"); +pref("browser.gesture.pinch.out.shift", "cmd_fullZoomReset"); +pref("browser.gesture.pinch.in.shift", "cmd_fullZoomReset"); +#else +// Disabled by default due to issues with track pad input. +pref("browser.gesture.pinch.out", ""); +pref("browser.gesture.pinch.in", ""); +pref("browser.gesture.pinch.out.shift", ""); +pref("browser.gesture.pinch.in.shift", ""); +#endif +pref("browser.gesture.twist.latched", false); +pref("browser.gesture.twist.threshold", 0); +pref("browser.gesture.twist.right", "cmd_gestureRotateRight"); +pref("browser.gesture.twist.left", "cmd_gestureRotateLeft"); +pref("browser.gesture.twist.end", "cmd_gestureRotateEnd"); +pref("browser.gesture.tap", "cmd_fullZoomReset"); + +pref("browser.snapshots.limit", 0); + +// 0: Nothing happens +// 1: Scroll contents +// 2: Go back or go forward, in your history +// 3: Zoom in or out +// 4: Scroll contents with X and Y swapped +#ifdef XP_MACOSX +// On OS X, if the wheel has one axis only, shift+wheel comes through as a +// horizontal scroll event. Thus, we can't assign anything other than normal +// scrolling to shift+wheel. +pref("mousewheel.with_alt.action", 2); +pref("mousewheel.with_shift.action", 1); +// On MacOS X, control+wheel is typically handled by system and we don't +// receive the event. So, command key which is the main modifier key for +// acceleration is the best modifier for zoom-in/out. However, we should keep +// the control key setting for backward compatibility. +pref("mousewheel.with_meta.action", 3); // command key on Mac +// Disable control-/meta-modified horizontal mousewheel events, since +// those are used on Mac as part of modified swipe gestures (e.g. +// Left swipe+Cmd = go back in a new tab). +pref("mousewheel.with_control.action.override_x", 0); +pref("mousewheel.with_meta.action.override_x", 0); +#else +pref("mousewheel.with_alt.action", 1); +pref("mousewheel.with_shift.action", 2); +pref("mousewheel.with_meta.action", 1); // win key on Win, Super/Hyper on Linux +#endif +pref("mousewheel.with_control.action",3); +pref("mousewheel.with_win.action", 1); + +pref("browser.xul.error_pages.enabled", true); +pref("browser.xul.error_pages.expert_bad_cert", false); + +// Work Offline is best manually managed by the user. +pref("network.manage-offline-status", false); + +// We want to make sure mail URLs are handled externally... +pref("network.protocol-handler.external.mailto", true); // for mail +pref("network.protocol-handler.external.news", true); // for news +pref("network.protocol-handler.external.snews", true); // for secure news +pref("network.protocol-handler.external.nntp", true); // also news +#ifdef XP_WIN +pref("network.protocol-handler.external.ms-windows-store", true); +#endif + +// ...without warning dialogs +pref("network.protocol-handler.warn-external.mailto", false); +pref("network.protocol-handler.warn-external.news", false); +pref("network.protocol-handler.warn-external.snews", false); +pref("network.protocol-handler.warn-external.nntp", false); +#ifdef XP_WIN +pref("network.protocol-handler.warn-external.ms-windows-store", false); +#endif + +// By default, all protocol handlers are exposed. This means that +// the browser will respond to openURL commands for all URL types. +// It will also try to open link clicks inside the browser before +// failing over to the system handlers. +pref("network.protocol-handler.expose-all", true); +pref("network.protocol-handler.expose.mailto", false); +pref("network.protocol-handler.expose.news", false); +pref("network.protocol-handler.expose.snews", false); +pref("network.protocol-handler.expose.nntp", false); + +pref("accessibility.typeaheadfind", false); +pref("accessibility.typeaheadfind.timeout", 5000); +pref("accessibility.typeaheadfind.linksonly", false); +pref("accessibility.typeaheadfind.flashBar", 1); + +// by default we show an infobar message when pages require plugins that are blocked, or are outdated +pref("plugins.hide_infobar_for_blocked_plugin", false); +pref("plugins.hide_infobar_for_outdated_plugin", false); + +// Pale Moon:pref to always show the plugin indicator or not (default=false) +pref("plugins.always_show_indicator", false); + +pref("plugins.update.url", "https://www.mozilla.org/%LOCALE%/plugincheck/"); +pref("plugins.update.notifyUser", false); + +//Enable tri-state option (Always/Never/Ask) +pref("plugins.click_to_play", true); + +#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 + +pref("browser.download.show_plugins_in_list", true); +pref("browser.download.hide_plugins_without_extensions", true); + +// Backspace and Shift+Backspace behavior +// 0 goes Back/Forward +// 1 act like PgUp/PgDown +// 2 and other values, nothing +#ifdef UNIX_BUT_NOT_MAC +pref("browser.backspace_action", 2); +#else +pref("browser.backspace_action", 0); +#endif + +// 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); + +pref("browser.send_pings", false); + +/* initial web feed readers list */ +pref("browser.contentHandlers.types.0.title", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.0.uri", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.0.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.1.title", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.1.uri", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.1.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.2.title", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.2.uri", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.2.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.3.title", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.3.uri", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.3.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.4.title", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.4.uri", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.4.type", "application/vnd.mozilla.maybe.feed"); +pref("browser.contentHandlers.types.5.title", "chrome://browser-region/locale/region.properties"); +pref("browser.contentHandlers.types.5.uri", "chrome://browser-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"); + +// At startup, if the handler service notices that the version number in the +// region.properties file is newer than the version number in the handler +// service datastore, it will add any new handlers it finds in the prefs (as +// seeded by this file) to its datastore. +pref("goanna.handlerService.defaultHandlersVersion", "chrome://browser-region/locale/region.properties"); + +// The default set of web-based protocol handlers shown in the application +// selection dialog for webcal: ; I've arbitrarily picked 4 default handlers +// per protocol, but if some locale wants more than that (or defaults for some +// protocol not currently listed here), we should go ahead and add those. + +// webcal +pref("goanna.handlerService.schemes.webcal.0.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.webcal.0.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.webcal.1.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.webcal.1.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.webcal.2.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.webcal.2.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.webcal.3.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.webcal.3.uriTemplate", "chrome://browser-region/locale/region.properties"); + +// mailto +pref("goanna.handlerService.schemes.mailto.0.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.mailto.0.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.mailto.1.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.mailto.1.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.mailto.2.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.mailto.2.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.mailto.3.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.mailto.3.uriTemplate", "chrome://browser-region/locale/region.properties"); + +// irc +pref("goanna.handlerService.schemes.irc.0.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.irc.0.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.irc.1.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.irc.1.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.irc.2.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.irc.2.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.irc.3.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.irc.3.uriTemplate", "chrome://browser-region/locale/region.properties"); + +// ircs +pref("goanna.handlerService.schemes.ircs.0.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.ircs.0.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.ircs.1.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.ircs.1.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.ircs.2.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.ircs.2.uriTemplate", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.ircs.3.name", "chrome://browser-region/locale/region.properties"); +pref("goanna.handlerService.schemes.ircs.3.uriTemplate", "chrome://browser-region/locale/region.properties"); + +// By default, we don't want protocol/content handlers to be registered from a different host, see bug 402287 +pref("goanna.handlerService.allowRegisterFromDifferentHost", false); + +pref("browser.geolocation.warning.infoURL", "http://www.palemoon.org/info-url/geolocation.shtml"); +pref("browser.mixedcontent.warning.infoURL", "http://www.palemoon.org/info-url/mixedcontent.shtml"); + +pref("browser.EULA.version", 3); +pref("browser.rights.version", 3); +pref("browser.rights.3.shown", false); + +#ifdef DEBUG +// Don't show the about:rights notification in debug builds. +pref("browser.rights.override", true); +#endif + +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", 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); +// 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); +// number of back button session history entries to save (-1 = all of them) +pref("browser.sessionstore.max_serialize_back", 10); +// number of forward button session history entries to save (-1 = all of them) +pref("browser.sessionstore.max_serialize_forward", -1); +// restore_on_demand overrides browser.sessionstore.max_concurrent_tabs +// and restore_hidden_tabs. When true, tabs will not be restored until they are +// focused (also applies to tabs that aren't visible). When false, the values +// for browser.sessionstore.max_concurrent_tabs and restore_hidden_tabs are +// respected. Selected tabs are always restored regardless of this pref. +pref("browser.sessionstore.restore_on_demand", true); +// The number of tabs that can restore concurrently. +// Sane values are 1..10, default 3. +pref("browser.sessionstore.max_concurrent_tabs", 3); +// Whether to automatically restore hidden tabs (i.e., tabs in other tab groups) or not +pref("browser.sessionstore.restore_hidden_tabs", false); +// If restore_on_demand is set, pinned tabs are restored on startup by default. +// When set to true, this pref overrides that behavior, and pinned tabs will only +// be restored when they are focused. +pref("browser.sessionstore.restore_pinned_tabs_on_demand", false); +// Pale Moon: Allow the user to bypass cached versions of pages when restoring +// tabs from a previous session +// 0 = standard behavior: pull fully from cache +// 1 = perform a soft refresh when restoring a tab (check network) +// 2 = perform a hard refresh when restoring a tab (bypass cache completely) +pref("browser.sessionstore.cache_behavior", 0); +// Pale Moon: Allow exact positioning of windows to previous locations, even +// if they would be outside of the screen bounds +pref("browser.sessionstore.exactPos", false); + +// allow META refresh by default +pref("accessibility.blockautorefresh", false); + +// 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); + +// 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); + +// Controls the behavior of data storage for offline apps +// 0 - Deny storage of offline app data without prompting (breaks sites!) +// 1 - Ask the user if a website wants to store offline app data +// 2 - Allow storage of offline app data without prompting (default) +pref("offline-apps.permissions", 2); +// True if storage of offline app data is allowed without prompting. +pref("offline-apps.allow_by_default", true); +// True if the user should be prompted when a web application supports +// offline apps. +pref("browser.offline-apps.notify", true); + +// 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. +pref("browser.zoom.updateBackgroundTabs", true); + +// base URL for web-based support pages +pref("app.support.baseURL", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/"); + +// Name of alternate about: page for certificate errors (when undefined, defaults to about:neterror) +pref("security.alternate_certificate_error_page", "certerror"); + +// Whether to start the private browsing mode at application startup +pref("browser.privatebrowsing.autostart", false); + +// Don't try to alter this pref, it'll be reset the next time you use the +// bookmarking dialog +pref("browser.bookmarks.editDialog.firstEditField", "namePicker"); + +// Whether to use a panel that looks like an OS X sheet for customization +#ifdef XP_MACOSX +pref("toolbar.customization.usesheet", true); +#else +pref("toolbar.customization.usesheet", false); +#endif + +#ifdef XP_MACOSX +// On mac, the default pref is per-architecture +pref("dom.ipc.plugins.enabled.i386", true); +pref("dom.ipc.plugins.enabled.x86_64", true); +#else +pref("dom.ipc.plugins.enabled", true); +#endif + +pref("browser.tabs.remote", false); + +// This pref governs whether we attempt to work around problems caused by +// plugins using OS calls to manipulate the cursor while running out-of- +// process. These workarounds all involve intercepting (hooking) certain +// OS calls in the plugin process, then arranging to make certain OS calls +// in the browser process. Eventually plugins will be required to use the +// NPAPI to manipulate the cursor, and these workarounds will be removed. +// See bug 621117. +#ifdef XP_MACOSX +pref("dom.ipc.plugins.nativeCursorSupport", true); +#endif + +#ifdef XP_WIN +pref("browser.taskbar.previews.enable", false); +pref("browser.taskbar.previews.max", 20); +pref("browser.taskbar.previews.cachetime", 5); +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); +#endif + +#ifdef MOZ_SERVICES_SYNC +// Info when outdated sync detected +pref("services.sync.outdated.url", "http://www.palemoon.org/sync/update/"); +// 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", true); +pref("services.sync.prefs.sync.accessibility.typeaheadfind.linksonly", 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.app.update.mode", true); +pref("services.sync.prefs.sync.browser.download.manager.closeWhenDone", true); +pref("services.sync.prefs.sync.browser.download.manager.retention", true); +pref("services.sync.prefs.sync.browser.download.manager.scanWhenDone", true); +pref("services.sync.prefs.sync.browser.download.manager.showWhenStarting", true); +pref("services.sync.prefs.sync.browser.formfill.enable", 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.search.selectedEngine", true); +pref("services.sync.prefs.sync.browser.search.update", true); +pref("services.sync.prefs.sync.browser.sessionstore.restore_on_demand", 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.warnOnOpen", true); +pref("services.sync.prefs.sync.browser.urlbar.autocomplete.enabled", true); +pref("services.sync.prefs.sync.browser.urlbar.default.behavior", true); +pref("services.sync.prefs.sync.browser.urlbar.maxRichResults", 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.event.contextmenu.enabled", true); +pref("services.sync.prefs.sync.extensions.personas.current", true); +pref("services.sync.prefs.sync.extensions.update.enabled", 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.network.cookie.cookieBehavior", true); +pref("services.sync.prefs.sync.network.cookie.lifetimePolicy", true); +pref("services.sync.prefs.sync.permissions.default.image", true); +pref("services.sync.prefs.sync.pref.advanced.images.disable_button.view_image", true); +pref("services.sync.prefs.sync.pref.advanced.javascript.disable_button.advanced", true); +pref("services.sync.prefs.sync.pref.downloads.disable_button.edit_actions", true); +pref("services.sync.prefs.sync.pref.privacy.disable_button.cookie_exceptions", 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.siteSettings", true); +pref("services.sync.prefs.sync.privacy.clearOnShutdown.connectivityData", true); +pref("services.sync.prefs.sync.privacy.donottrackheader.enabled", true); +pref("services.sync.prefs.sync.privacy.donottrackheader.value", true); +pref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", 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.tls.version.min", true); +pref("services.sync.prefs.sync.security.tls.version.max", 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); +#endif + + + +// Enable the error console +pref("devtools.errorconsole.enabled", true); + +// Whether the character encoding menu is under the main Firefox button. This +// preference is a string so that localizers can alter it. +pref("browser.menu.showCharacterEncoding", "chrome://browser/locale/browser.properties"); + +// Allow using tab-modal prompts when possible. +pref("prompts.tab_modal.enabled", true); +// Allow tab-modal prompts to switch tab focus +pref("prompts.tab_modal.focusSwitch", true); + +// Whether the Panorama should animate going in/out of tabs +pref("browser.panorama.animate_zoom", true); + +// Defines the url to be used for new tabs. +pref("browser.newtab.url", "about:logopage"); +// Activates preloading of the new tab url. +pref("browser.newtab.preload", false); + +// Toggles the content of 'about:newtab'. Shows the grid when enabled. +pref("browser.newtabpage.enabled", true); + +// number of columns of newtab grid +pref("browser.newtabpage.columns", 4); + +// number of rows of newtab grid +pref("browser.newtabpage.rows", 4); + +// Enable the DOM fullscreen API. +pref("full-screen-api.enabled", true); + +// True if the fullscreen API requires approval upon a domain entering fullscreen. +// Domains that have already had fullscreen permission granted won't re-request +// approval. +pref("full-screen-api.approval-required", true); + +// about:permissions +// Maximum number of sites to return from the places database. +// 0-100 (currently) +pref("permissions.places-sites-limit", 50); + +// Startup Crash Tracking +// number of startup crashes that can occur before starting into safe mode automatically +// (this pref has no effect if more than 6 hours have passed since the last crash) +pref("toolkit.startup.max_resumed_crashes", 3); + +// 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 bug 746055.) +pref("image.mem.max_decoded_image_kb", 256000); + +// Turn on the CSP 1.0 parser for Content Security Policy headers +pref("security.csp.speccompliant", true); + +// Block insecure active content on https pages +pref("security.mixed_content.block_active_content", true); + + +// Override the Goanna-default value of false for Firefox. +pref("plain_text.wrap_long_lines", true); + +pref("media.webaudio.enabled", true); + +// If this turns true, Moz*Gesture events are not called stopPropagation() +// before content. +pref("dom.debug.propagate_gesture_events_through_content", false); + +// The request URL of the GeoLocation backend. +pref("geo.wifi.uri", "http://ip-api.com/json/?fields=lat,lon,status,message"); + +//Pale Moon padlock overlay preferences +pref("browser.padlock.shown", true); +/* Where to show the padlock + 1 = inside identity button, right side + 2 = inside identity button, left side + 3 = urlbar, right side (next to bookmark star) + 4 = statusbar + 5 = tabs bar, right side + 6-10 = same locations, classic style padlock */ +pref("browser.padlock.style", 1); +// address bar border, 0 = no border, 1 = border, 2 = border only on secure sites +pref("browser.padlock.urlbar_background", 2); + +//Pale Moon standalone image background color +pref("browser.display.standalone_images.background_color", "#2E3B41"); + +// ****************** domain-specific UAs ****************** + +// AMO needs "Firefox", obviously - pass on the OS (determined at build time) +#ifdef XP_UNIX +#ifdef XP_MACOSX +pref("general.useragent.override.addons.mozilla.org","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:27.9) Gecko/20100101 Firefox/27.9 (Pale Moon)"); +#else +pref("general.useragent.override.addons.mozilla.org","Mozilla/5.0 (Linux; X11; rv:27.9) Gecko/20100101 Firefox/27.9 (Pale Moon)"); +#endif +#else +pref("general.useragent.override.addons.mozilla.org","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.9) Gecko/20100101 Firefox/27.9 (Pale Moon)"); +#endif + +// ****************** s4e prefs ****************** +pref("status4evar.addonbar.borderStyle", false); +pref("status4evar.addonbar.closeButton", false); +pref("status4evar.addonbar.legacyShim", true); +pref("status4evar.addonbar.windowGripper", true); + +pref("status4evar.advanced.status.detectFullScreen", false); +pref("status4evar.advanced.status.detectVideo", true); + +pref("status4evar.download.button.action", 1); +pref("status4evar.download.button.action.command", ""); +pref("status4evar.download.color.active", "#333399"); +pref("status4evar.download.color.paused", "#808080"); +pref("status4evar.download.force", false); +pref("status4evar.download.label", 0); +pref("status4evar.download.label.force", true); +pref("status4evar.download.notify.animate", true); +pref("status4evar.download.notify.timeout", 60); +pref("status4evar.download.progress", 1); +pref("status4evar.download.tooltip", 2); + +pref("status4evar.firstRun", true); + +pref("status4evar.progress.toolbar.css", "#333399"); +pref("status4evar.progress.toolbar.force", false); +pref("status4evar.progress.toolbar.style", false); +pref("status4evar.progress.toolbar.style.advanced", false); + +pref("status4evar.status", 1); +pref("status4evar.status.default", true); +pref("status4evar.status.network", true); +pref("status4evar.status.network.xhr", true); +pref("status4evar.status.timeout", 30); +pref("status4evar.status.linkOver", 1); +pref("status4evar.status.linkOver.delay.show", 0); +pref("status4evar.status.linkOver.delay.hide", 0); + +pref("status4evar.status.toolbar.maxLength", 0); + +pref("status4evar.status.popup.invertMirror", false); +pref("status4evar.status.popup.mouseMirror", true); diff --git a/application/palemoon/app/profile/prefs.js b/application/palemoon/app/profile/prefs.js new file mode 100644 index 000000000..8c6f0d639 --- /dev/null +++ b/application/palemoon/app/profile/prefs.js @@ -0,0 +1,13 @@ +/* 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/. */ + +# Mozilla User Preferences + +/* Do not edit this file. + * + * If you make changes to this file while the browser is running, + * the changes will be overwritten when the browser exits. + * + * To make a manual change to preferences, you can visit the URL about:config + */ diff --git a/application/palemoon/app/splash.rc b/application/palemoon/app/splash.rc new file mode 100644 index 000000000..539c342c8 --- /dev/null +++ b/application/palemoon/app/splash.rc @@ -0,0 +1,21 @@ +/* -*- 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 "palemoon.exe.manifest" + +IDI_APPICON ICON FIREFOX_ICO +IDI_DOCUMENT ICON DOCUMENT_ICO +IDI_APPLICATION ICON FIREFOX_ICO +IDI_NEWWINDOW ICON NEWWINDOW_ICO +IDI_NEWTAB ICON NEWTAB_ICO +IDI_PBMODE ICON PBMODE_ICO + +STRINGTABLE DISCARDABLE +BEGIN + IDS_STARTMENU_APPNAME, "@MOZ_APP_DISPLAYNAME@" +END diff --git a/application/palemoon/base/content/aboutDialog.css b/application/palemoon/base/content/aboutDialog.css new file mode 100644 index 000000000..aa79b0795 --- /dev/null +++ b/application/palemoon/base/content/aboutDialog.css @@ -0,0 +1,70 @@ +/* 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/. */ + +#PMaboutDialog { + width: 620px; +} + +#PMrightBox { + background-image: url("chrome://branding/content/about-wordmark.png"); + background-repeat: no-repeat; + /* padding-top creates room for the wordmark */ + padding-top: 38px; + margin-top:20px; +} + +#PMrightBox:-moz-locale-dir(rtl) { + background-position: 100% 0; +} + +#PMbottomBox { + padding: 15px 10px 0; +} + +#PMversion { + margin-top: 10px; + -moz-margin-start: 0; + -moz-user-select: text; + -moz-user-focus: normal; + cursor: text; +} + +#distribution, +#distributionId { + font-weight: bold; + display: none; + margin-top: 0; + margin-bottom: 0; +} + +.text-blurb { + margin-bottom: 10px; + -moz-margin-start: 0; + -moz-padding-start: 0; +} + +#updateButton, +#updateDeck > hbox > label { + -moz-margin-start: 0; + -moz-padding-start: 0; +} + +.update-throbber { + width: 16px; + min-height: 16px; + -moz-margin-end: 3px; + list-style-image: url("chrome://global/skin/icons/loading_16.png"); +} + +.text-link, +.text-link:focus { + margin: 0px; + padding: 0px; +} + +.bottom-link, +.bottom-link:focus { + text-align: center; + margin: 0 40px; +} diff --git a/application/palemoon/base/content/aboutDialog.js b/application/palemoon/base/content/aboutDialog.js new file mode 100644 index 000000000..f4c2a990c --- /dev/null +++ b/application/palemoon/base/content/aboutDialog.js @@ -0,0 +1,590 @@ +# 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/. + +// Services = object with smart getters for common XPCOM services +Components.utils.import("resource://gre/modules/Services.jsm"); + +function init(aEvent) +{ + if (aEvent.target != document) + return; + + try { + var distroId = Services.prefs.getCharPref("distribution.id"); + if (distroId) { + var distroVersion = Services.prefs.getCharPref("distribution.version"); + + var distroIdField = document.getElementById("distributionId"); + distroIdField.value = distroId + " - " + distroVersion; + distroIdField.style.display = "block"; + + try { + // This is in its own try catch due to bug 895473 and bug 900925. + var distroAbout = Services.prefs.getComplexValue("distribution.about", + Components.interfaces.nsISupportsString); + var distroField = document.getElementById("distribution"); + distroField.value = distroAbout; + distroField.style.display = "block"; + } + catch (ex) { + // Pref is unset + Components.utils.reportError(ex); + } + } + } + catch (e) { + // Pref is unset + } + + // Include the build ID if this is an "a#" or "b#" build + let version = Services.appinfo.version; + if (/[ab]\d+$/.test(version)) { + let buildID = Services.appinfo.appBuildID; + let buildDate = buildID.slice(0,4) + "-" + buildID.slice(4,6) + "-" + buildID.slice(6,8); + document.getElementById("PMversion").textContent += " (" + buildDate + ")"; + } + +#ifdef MOZ_UPDATER + gAppUpdater = new appUpdater(); +#endif + +#ifdef XP_MACOSX + // it may not be sized at this point, and we need its width to calculate its position + window.sizeToContent(); + window.moveTo((screen.availWidth / 2) - (window.outerWidth / 2), screen.availHeight / 5); +#endif + +// get release notes URL from prefs + var formatter = Components.classes["@mozilla.org/toolkit/URLFormatterService;1"] + .getService(Components.interfaces.nsIURLFormatter); + var releaseNotesURL = formatter.formatURLPref("app.releaseNotesURL"); + if (releaseNotesURL != "about:blank") { + var relnotes = document.getElementById("releaseNotesURL"); + relnotes.setAttribute("href", releaseNotesURL); + } +} + +#ifdef MOZ_UPDATER +Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); +Components.utils.import("resource://gre/modules/DownloadUtils.jsm"); +Components.utils.import("resource://gre/modules/AddonManager.jsm"); + +var gAppUpdater; + +function onUnload(aEvent) { + if (gAppUpdater.isChecking) + gAppUpdater.checker.stopChecking(Components.interfaces.nsIUpdateChecker.CURRENT_CHECK); + // Safe to call even when there isn't a download in progress. + gAppUpdater.removeDownloadListener(); + gAppUpdater = null; +} + + +function appUpdater() +{ + this.updateDeck = document.getElementById("updateDeck"); + + // Hide the update deck when there is already an update window open to avoid + // syncing issues between them. + if (Services.wm.getMostRecentWindow("Update:Wizard")) { + this.updateDeck.hidden = true; + return; + } + + XPCOMUtils.defineLazyServiceGetter(this, "aus", + "@mozilla.org/updates/update-service;1", + "nsIApplicationUpdateService"); + XPCOMUtils.defineLazyServiceGetter(this, "checker", + "@mozilla.org/updates/update-checker;1", + "nsIUpdateChecker"); + XPCOMUtils.defineLazyServiceGetter(this, "um", + "@mozilla.org/updates/update-manager;1", + "nsIUpdateManager"); + + this.bundle = Services.strings. + createBundle("chrome://browser/locale/browser.properties"); + + this.updateBtn = document.getElementById("updateButton"); + + // The button label value must be set so its height is correct. + this.setupUpdateButton("update.checkInsideButton"); + + let manualURL = Services.urlFormatter.formatURLPref("app.update.url.manual"); + let manualLink = document.getElementById("manualLink"); + manualLink.value = manualURL; + manualLink.href = manualURL; + document.getElementById("failedLink").href = manualURL; + + if (this.updateDisabledAndLocked) { + this.selectPanel("adminDisabled"); + return; + } + + if (this.isPending || this.isApplied) { + this.setupUpdateButton("update.restart." + + (this.isMajor ? "upgradeButton" : "updateButton")); + return; + } + + if (this.aus.isOtherInstanceHandlingUpdates) { + this.selectPanel("otherInstanceHandlingUpdates"); + return; + } + + if (this.isDownloading) { + this.startDownload(); + return; + } + + if (this.updateEnabled && this.updateAuto) { + this.selectPanel("checkingForUpdates"); + this.isChecking = true; + this.checker.checkForUpdates(this.updateCheckListener, true); + return; + } +} + +appUpdater.prototype = +{ + // true when there is an update check in progress. + isChecking: false, + + // true when there is an update already staged / ready to be applied. + get isPending() { + if (this.update) { + return this.update.state == "pending" || + this.update.state == "pending-service"; + } + return this.um.activeUpdate && + (this.um.activeUpdate.state == "pending" || + this.um.activeUpdate.state == "pending-service"); + }, + + // true when there is an update already installed in the background. + get isApplied() { + if (this.update) + return this.update.state == "applied" || + this.update.state == "applied-service"; + return this.um.activeUpdate && + (this.um.activeUpdate.state == "applied" || + this.um.activeUpdate.state == "applied-service"); + }, + + // true when there is an update download in progress. + get isDownloading() { + if (this.update) + return this.update.state == "downloading"; + return this.um.activeUpdate && + this.um.activeUpdate.state == "downloading"; + }, + + // true when the update type is major. + get isMajor() { + if (this.update) + return this.update.type == "major"; + return this.um.activeUpdate.type == "major"; + }, + + // true when updating is disabled by an administrator. + get updateDisabledAndLocked() { + return !this.updateEnabled && + Services.prefs.prefIsLocked("app.update.enabled"); + }, + + // true when updating is enabled. + get updateEnabled() { + try { + return Services.prefs.getBoolPref("app.update.enabled"); + } + catch (e) { } + return true; // Firefox default is true + }, + + // true when updating in background is enabled. + get backgroundUpdateEnabled() { + return this.updateEnabled && + gAppUpdater.aus.canStageUpdates; + }, + + // true when updating is automatic. + get updateAuto() { + try { + return Services.prefs.getBoolPref("app.update.auto"); + } + catch (e) { } + return true; // Firefox default is true + }, + + /** + * Sets the deck's selected panel. + * + * @param aChildID + * The id of the deck's child to select. + */ + selectPanel: function(aChildID) { + this.updateDeck.selectedPanel = document.getElementById(aChildID); + this.updateBtn.disabled = (aChildID != "updateButtonBox"); + }, + + /** + * Sets the update button's label and accesskey. + * + * @param aKeyPrefix + * The prefix for the properties file entry to use for setting the + * label and accesskey. + */ + setupUpdateButton: function(aKeyPrefix) { + this.updateBtn.label = this.bundle.GetStringFromName(aKeyPrefix + ".label"); + this.updateBtn.accessKey = this.bundle.GetStringFromName(aKeyPrefix + ".accesskey"); + if (!document.commandDispatcher.focusedElement || + document.commandDispatcher.focusedElement == this.updateBtn) + this.updateBtn.focus(); + }, + + /** + * Handles oncommand for the update button. + */ + buttonOnCommand: function() { + if (this.isPending || this.isApplied) { + // Notify all windows that an application quit has been requested. + let cancelQuit = Components.classes["@mozilla.org/supports-PRBool;1"]. + createInstance(Components.interfaces.nsISupportsPRBool); + Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart"); + + // Something aborted the quit process. + if (cancelQuit.data) + return; + + let appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"]. + getService(Components.interfaces.nsIAppStartup); + + // If already in safe mode restart in safe mode (bug 327119) + if (Services.appinfo.inSafeMode) { + appStartup.restartInSafeMode(Components.interfaces.nsIAppStartup.eAttemptQuit); + return; + } + + appStartup.quit(Components.interfaces.nsIAppStartup.eAttemptQuit | + Components.interfaces.nsIAppStartup.eRestart); + return; + } + + const URI_UPDATE_PROMPT_DIALOG = "chrome://mozapps/content/update/updates.xul"; + // Firefox no longer displays a license for updates and the licenseURL check + // is just in case a distibution does. + if (this.update) { + var ary = null; + ary = Components.classes["@mozilla.org/supports-array;1"]. + createInstance(Components.interfaces.nsISupportsArray); + ary.AppendElement(this.update); + var openFeatures = "chrome,centerscreen,dialog=no,resizable=no,titlebar,toolbar=no"; + Services.ww.openWindow(null, URI_UPDATE_PROMPT_DIALOG, "", openFeatures, ary); + window.close(); + return; + } + + this.selectPanel("checkingForUpdates"); + this.isChecking = true; + this.checker.checkForUpdates(this.updateCheckListener, true); + }, + + /** + * Implements nsIUpdateCheckListener. The methods implemented by + * nsIUpdateCheckListener are in a different scope from nsIIncrementalDownload + * to make it clear which are used by each interface. + */ + updateCheckListener: { + /** + * See nsIUpdateService.idl + */ + onCheckComplete: function(aRequest, aUpdates, aUpdateCount) { + gAppUpdater.isChecking = false; + gAppUpdater.update = gAppUpdater.aus. + selectUpdate(aUpdates, aUpdates.length); + if (!gAppUpdater.update) { + gAppUpdater.selectPanel("noUpdatesFound"); + return; + } + + if (gAppUpdater.update.unsupported) { + if (gAppUpdater.update.detailsURL) { + let unsupportedLink = document.getElementById("unsupportedLink"); + unsupportedLink.href = gAppUpdater.update.detailsURL; + } + gAppUpdater.selectPanel("unsupportedSystem"); + return; + } + + if (!gAppUpdater.aus.canApplyUpdates) { + gAppUpdater.selectPanel("manualUpdate"); + return; + } + + gAppUpdater.selectPanel("updateButtonBox"); + gAppUpdater.setupUpdateButton("update.openUpdateUI." + + (this.isMajor ? "upgradeButton" + : "applyButton")); + }, + + /** + * See nsIUpdateService.idl + */ + onError: function(aRequest, aUpdate) { + // Errors in the update check are treated as no updates found. If the + // update check fails repeatedly without a success the user will be + // notified with the normal app update user interface so this is safe. + gAppUpdater.isChecking = false; + gAppUpdater.selectPanel("noUpdatesFound"); + }, + + /** + * See nsISupports.idl + */ + QueryInterface: function(aIID) { + if (!aIID.equals(Components.interfaces.nsIUpdateCheckListener) && + !aIID.equals(Components.interfaces.nsISupports)) + throw Components.results.NS_ERROR_NO_INTERFACE; + return this; + } + }, + + /** + * Checks the compatibility of add-ons for the application update. + */ + checkAddonCompatibility: function() { + var self = this; + AddonManager.getAllAddons(function(aAddons) { + self.addons = []; + self.addonsCheckedCount = 0; + aAddons.forEach(function(aAddon) { + // Protect against code that overrides the add-ons manager and doesn't + // implement the isCompatibleWith or the findUpdates method. + if (!("isCompatibleWith" in aAddon) || !("findUpdates" in aAddon)) { + let errMsg = "Add-on doesn't implement either the isCompatibleWith " + + "or the findUpdates method!"; + if (aAddon.id) + errMsg += " Add-on ID: " + aAddon.id; + Components.utils.reportError(errMsg); + return; + } + + // If an add-on isn't appDisabled and isn't userDisabled then it is + // either active now or the user expects it to be active after the + // restart. If that is the case and the add-on is not installed by the + // application and is not compatible with the new application version + // then the user should be warned that the add-on will become + // incompatible. If an addon's type equals plugin it is skipped since + // checking plugins compatibility information isn't supported and + // getting the scope property of a plugin breaks in some environments + // (see bug 566787). + try { + if (aAddon.type != "plugin" && aAddon.isCompatible && + !aAddon.appDisabled && !aAddon.userDisabled && + aAddon.scope != AddonManager.SCOPE_APPLICATION && + !aAddon.isCompatibleWith(self.update.appVersion, + self.update.platformVersion)) + self.addons.push(aAddon); + } + catch (e) { + Components.utils.reportError(e); + } + }); + self.addonsTotalCount = self.addons.length; + if (self.addonsTotalCount == 0) { + self.startDownload(); + return; + } + + self.checkAddonsForUpdates(); + }); + }, + + /** + * Checks if there are updates for add-ons that are incompatible with the + * application update. + */ + checkAddonsForUpdates: function() { + this.addons.forEach(function(aAddon) { + aAddon.findUpdates(this, AddonManager.UPDATE_WHEN_NEW_APP_DETECTED, + this.update.appVersion, + this.update.platformVersion); + }, this); + }, + + /** + * See XPIProvider.jsm + */ + onCompatibilityUpdateAvailable: function(aAddon) { + for (var i = 0; i < this.addons.length; ++i) { + if (this.addons[i].id == aAddon.id) { + this.addons.splice(i, 1); + break; + } + } + }, + + /** + * See XPIProvider.jsm + */ + onUpdateAvailable: function(aAddon, aInstall) { + if (!Services.blocklist.isAddonBlocklisted(aAddon.id, aInstall.version, + this.update.appVersion, + this.update.platformVersion)) { + // Compatibility or new version updates mean the same thing here. + this.onCompatibilityUpdateAvailable(aAddon); + } + }, + + /** + * See XPIProvider.jsm + */ + onUpdateFinished: function(aAddon) { + ++this.addonsCheckedCount; + + if (this.addonsCheckedCount < this.addonsTotalCount) + return; + + if (this.addons.length == 0) { + // Compatibility updates or new version updates were found for all add-ons + this.startDownload(); + return; + } + + this.selectPanel("updateButtonBox"); + this.setupUpdateButton("update.openUpdateUI." + + (this.isMajor ? "upgradeButton" : "applyButton")); + }, + + /** + * Starts the download of an update mar. + */ + startDownload: function() { + if (!this.update) + this.update = this.um.activeUpdate; + this.update.QueryInterface(Components.interfaces.nsIWritablePropertyBag); + this.update.setProperty("foregroundDownload", "true"); + + this.aus.pauseDownload(); + let state = this.aus.downloadUpdate(this.update, false); + if (state == "failed") { + this.selectPanel("downloadFailed"); + return; + } + + this.setupDownloadingUI(); + }, + + /** + * Switches to the UI responsible for tracking the download. + */ + setupDownloadingUI: function() { + this.downloadStatus = document.getElementById("downloadStatus"); + this.downloadStatus.value = + DownloadUtils.getTransferTotal(0, this.update.selectedPatch.size); + this.selectPanel("downloading"); + this.aus.addDownloadListener(this); + }, + + removeDownloadListener: function() { + if (this.aus) { + this.aus.removeDownloadListener(this); + } + }, + + /** + * See nsIRequestObserver.idl + */ + onStartRequest: function(aRequest, aContext) { + }, + + /** + * See nsIRequestObserver.idl + */ + onStopRequest: function(aRequest, aContext, aStatusCode) { + switch (aStatusCode) { + case Components.results.NS_ERROR_UNEXPECTED: + if (this.update.selectedPatch.state == "download-failed" && + (this.update.isCompleteUpdate || this.update.patchCount != 2)) { + // Verification error of complete patch, informational text is held in + // the update object. + this.removeDownloadListener(); + this.selectPanel("downloadFailed"); + break; + } + // Verification failed for a partial patch, complete patch is now + // downloading so return early and do NOT remove the download listener! + break; + case Components.results.NS_BINDING_ABORTED: + // Do not remove UI listener since the user may resume downloading again. + break; + case Components.results.NS_OK: + this.removeDownloadListener(); + if (this.backgroundUpdateEnabled) { + this.selectPanel("applying"); + let update = this.um.activeUpdate; + let self = this; + Services.obs.addObserver(function (aSubject, aTopic, aData) { + // Update the UI when the background updater is finished + let status = aData; + if (status == "applied" || status == "applied-service" || + status == "pending" || status == "pending-service") { + // If the update is successfully applied, or if the updater has + // fallen back to non-staged updates, show the Restart to Update + // button. + self.selectPanel("updateButtonBox"); + self.setupUpdateButton("update.restart." + + (self.isMajor ? "upgradeButton" : "updateButton")); + } else if (status == "failed") { + // Background update has failed, let's show the UI responsible for + // prompting the user to update manually. + self.selectPanel("downloadFailed"); + } else if (status == "downloading") { + // We've fallen back to downloading the full update because the + // partial update failed to get staged in the background. + // Therefore we need to keep our observer. + self.setupDownloadingUI(); + return; + } + Services.obs.removeObserver(arguments.callee, "update-staged"); + }, "update-staged", false); + } else { + this.selectPanel("updateButtonBox"); + this.setupUpdateButton("update.restart." + + (this.isMajor ? "upgradeButton" : "updateButton")); + } + break; + default: + this.removeDownloadListener(); + this.selectPanel("downloadFailed"); + break; + } + + }, + + /** + * See nsIProgressEventSink.idl + */ + onStatus: function(aRequest, aContext, aStatus, aStatusArg) { + }, + + /** + * See nsIProgressEventSink.idl + */ + onProgress: function(aRequest, aContext, aProgress, aProgressMax) { + this.downloadStatus.value = + DownloadUtils.getTransferTotal(aProgress, aProgressMax); + }, + + /** + * See nsISupports.idl + */ + QueryInterface: function(aIID) { + if (!aIID.equals(Components.interfaces.nsIProgressEventSink) && + !aIID.equals(Components.interfaces.nsIRequestObserver) && + !aIID.equals(Components.interfaces.nsISupports)) + throw Components.results.NS_ERROR_NO_INTERFACE; + return this; + } +}; +#endif diff --git a/application/palemoon/base/content/aboutDialog.xul b/application/palemoon/base/content/aboutDialog.xul new file mode 100644 index 000000000..1ba8f06a1 --- /dev/null +++ b/application/palemoon/base/content/aboutDialog.xul @@ -0,0 +1,120 @@ + + +# 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/. + + + + + + +%brandDTD; + +%aboutDialogDTD; +]> + +#ifdef XP_MACOSX + +#endif + + + + + + + + + + + +
+ + +
+

&robots.errorTitleText;

+
+ + +
+ + +
+

&robots.errorShortDescText;

+
+ + +
+
    +
  • &robots.errorLongDesc1;
  • +
  • &robots.errorLongDesc2;
  • +
  • &robots.errorLongDesc3;
  • +
  • &robots.errorLongDesc4;
  • +
+
+ + +
+

&robots.errorTrailerDescText;

+
+ +
+ + + + + + +
+ + + diff --git a/application/palemoon/base/content/abouthome/aboutHome.css b/application/palemoon/base/content/abouthome/aboutHome.css new file mode 100644 index 000000000..73c686202 --- /dev/null +++ b/application/palemoon/base/content/abouthome/aboutHome.css @@ -0,0 +1,339 @@ +%if 0 +/* 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/. */ +%endif + +html { + font: message-box; + font-size: 100%; + background-color: hsl(0,0%,90%); + color: #000; + height: 100%; +} + +body { + margin: 0; + display: -moz-box; + -moz-box-orient: vertical; + width: 100%; + height: 100%; + background-image: url(chrome://browser/content/abouthome/noise.png), + linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.4)); +} + +input, +button { + font-size: inherit; + font-family: inherit; +} + +a { + color: -moz-nativehyperlinktext; + text-decoration: none; +} + +.spacer { + -moz-box-flex: 1; +} + +#topSection { + text-align: center; +} + +#brandLogo { + height: 192px; + width: 192px; + margin: 22px auto 31px; + background-image: url("chrome://branding/content/about-logo.png"); + background-size: 192px auto; + background-position: center center; + background-repeat: no-repeat; +} + +#searchForm { + width: 470px; +} + +#searchForm { + display: -moz-box; +} + +#searchLogoContainer { + display: -moz-box; + -moz-box-align: center; + padding-top: 2px; + -moz-padding-end: 8px; +} + +#searchLogoContainer[hidden] { + display: none; +} + +#searchEngineLogo { + display: inline-block; + height: 28px; + width: 70px; + min-width: 70px; +} + +#searchText { + -moz-box-flex: 1; + padding: 6px 8px; + background: hsla(0,0%,100%,.9) padding-box; + border: 1px solid; + border-color: hsla(210,54%,20%,.15) hsla(210,54%,20%,.17) hsla(210,54%,20%,.2); + box-shadow: 0 1px 0 hsla(210,65%,9%,.02) inset, + 0 0 2px hsla(210,65%,9%,.1) inset, + 0 1px 0 hsla(0,0%,100%,.2); + border-radius: 2.5px 0 0 2.5px; +} + +#searchText:-moz-dir(rtl) { + border-radius: 0 2.5px 2.5px 0; +} + +#searchText:focus, +#searchText[autofocus] { + border-color: hsla(206,100%,60%,.6) hsla(206,76%,52%,.6) hsla(204,100%,40%,.6); +} + +#searchSubmit { + -moz-margin-start: -1px; + background: linear-gradient(hsla(0,0%,100%,.8), hsla(0,0%,100%,.1)) padding-box; + padding: 0 9px; + border: 1px solid; + border-color: hsla(210,54%,20%,.15) hsla(210,54%,20%,.17) hsla(210,54%,20%,.2); + -moz-border-start: 1px solid transparent; + border-radius: 0 2.5px 2.5px 0; + box-shadow: 0 0 2px hsla(0,0%,100%,.5) inset, + 0 1px 0 hsla(0,0%,100%,.2); + cursor: pointer; + transition-property: background-color, border-color, box-shadow; + transition-duration: 150ms; +} + +#searchSubmit:-moz-dir(rtl) { + border-radius: 2.5px 0 0 2.5px; +} + +#searchText:focus + #searchSubmit, +#searchText + #searchSubmit:hover, +#searchText[autofocus] + #searchSubmit { + border-color: #59b5fc #45a3e7 #3294d5; + color: white; +} + +#searchText:focus + #searchSubmit, +#searchText[autofocus] + #searchSubmit { + background-image: linear-gradient(#4cb1ff, #1793e5); + box-shadow: 0 1px 0 hsla(0,0%,100%,.2) inset, + 0 0 0 1px hsla(0,0%,100%,.1) inset, + 0 1px 0 hsla(210,54%,20%,.03); +} + +#searchText + #searchSubmit:hover { + background-image: linear-gradient(#66bdff, #0d9eff); + box-shadow: 0 1px 0 hsla(0,0%,100%,.2) inset, + 0 0 0 1px hsla(0,0%,100%,.1) inset, + 0 1px 0 hsla(210,54%,20%,.03), + 0 0 4px hsla(206,100%,20%,.2); +} + +#searchText + #searchSubmit:hover:active { + box-shadow: 0 1px 1px hsla(211,79%,6%,.1) inset, + 0 0 1px hsla(211,79%,6%,.2) inset; + transition-duration: 0ms; +} + +#launcher { + display: -moz-box; + -moz-box-align: center; + -moz-box-pack: center; + width: 100%; + background-color: hsla(0,0%,0%,.03); + border-top: 1px solid hsla(0,0%,0%,.03); + box-shadow: 0 1px 2px hsla(0,0%,0%,.02) inset, + 0 -1px 0 hsla(0,0%,100%,.25); +} + +#launcher:not([session]), +body[narrow] #launcher[session] { + display: block; /* display separator and restore button on separate lines */ + text-align: center; + white-space: nowrap; /* prevent navigational buttons from wrapping */ +} + +.launchButton { + display: -moz-box; + -moz-box-orient: vertical; + margin: 16px 1px; + padding: 14px 6px; + min-width: 88px; + max-width: 176px; + max-height: 85px; + vertical-align: top; + white-space: normal; + background: transparent padding-box; + border: 1px solid transparent; + border-radius: 2.5px; + color: #525c66; + font-size: 75%; + cursor: pointer; + transition-property: background-color, border-color, box-shadow; + transition-duration: 150ms; +} + +body[narrow] #launcher[session] > .launchButton { + margin: 4px 1px; +} + +.launchButton:hover { + background-color: hsla(211,79%,6%,.03); + border-color: hsla(210,54%,20%,.15) hsla(210,54%,20%,.17) hsla(210,54%,20%,.2); +} + +.launchButton:hover:active { + background-image: linear-gradient(hsla(211,79%,6%,.02), hsla(211,79%,6%,.05)); + border-color: hsla(210,54%,20%,.2) hsla(210,54%,20%,.23) hsla(210,54%,20%,.25); + box-shadow: 0 1px 1px hsla(211,79%,6%,.05) inset, + 0 0 1px hsla(211,79%,6%,.1) inset; + transition-duration: 0ms; +} + +.launchButton[hidden], +#launcher:not([session]) > #restorePreviousSessionSeparator, +#launcher:not([session]) > #restorePreviousSession { + display: none; +} + +#restorePreviousSessionSeparator { + width: 3px; + height: 116px; + margin: 0 10px; + background-image: linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)), + linear-gradient(hsla(211,79%,6%,0), hsla(211,79%,6%,.2), hsla(211,79%,6%,0)), + linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)); + background-position: left top, center, right bottom; + background-size: 1px auto; + background-repeat: no-repeat; +} + +body[narrow] #restorePreviousSessionSeparator { + margin: 0 auto; + width: 512px; + height: 3px; + background-image: linear-gradient(to right, hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)), + linear-gradient(to right, hsla(211,79%,6%,0), hsla(211,79%,6%,.2), hsla(211,79%,6%,0)), + linear-gradient(to right, hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)); + background-size: auto 1px; +} + +#restorePreviousSession { + max-width: none; + font-size: 90%; +} + +body[narrow] #restorePreviousSession { + font-size: 80%; +} + +.launchButton::before { + display: block; + width: 32px; + height: 32px; + margin: 0 auto 6px; + line-height: 0; /* remove extra vertical space due to non-zero font-size */ +} + +#downloads::before { + content: url("chrome://browser/content/abouthome/downloads.png"); +} + +#bookmarks::before { + content: url("chrome://browser/content/abouthome/bookmarks.png"); +} + +#history::before { + content: url("chrome://browser/content/abouthome/history.png"); +} + +#addons::before { + content: url("chrome://browser/content/abouthome/addons.png"); +} + +#sync::before { + content: url("chrome://browser/content/abouthome/sync.png"); +} + +#settings::before { + content: url("chrome://browser/content/abouthome/settings.png"); +} + +#restorePreviousSession::before { + content: url("chrome://browser/content/abouthome/restore-large.png"); + height: 48px; + width: 48px; + display: inline-block; /* display on same line as text label */ + vertical-align: middle; + margin-bottom: 0; + -moz-margin-end: 8px; +} + +#restorePreviousSession:-moz-dir(rtl)::before { + transform: scaleX(-1); +} + +body[narrow] #restorePreviousSession::before { + content: url("chrome://browser/content/abouthome/restore.png"); + height: 32px; + width: 32px; +} + +/* [HiDPI] + * At resolutions above 1dppx, prefer downscaling the 2x Retina graphics + * rather than upscaling the original-size ones (bug 818940). + */ +@media not all and (max-resolution: 1dppx) { + #brandLogo { + background-image: url("chrome://branding/content/about-logo@2x.png"); + } + + .launchButton::before { + transform: scale(.5); + transform-origin: 0 0; + } + + #downloads::before { + content: url("chrome://browser/content/abouthome/downloads@2x.png"); + } + + #bookmarks::before { + content: url("chrome://browser/content/abouthome/bookmarks@2x.png"); + } + + #history::before { + content: url("chrome://browser/content/abouthome/history@2x.png"); + } + + #addons::before { + content: url("chrome://browser/content/abouthome/addons@2x.png"); + } + + #sync::before { + content: url("chrome://browser/content/abouthome/sync@2x.png"); + } + + #settings::before { + content: url("chrome://browser/content/abouthome/settings@2x.png"); + } + + #restorePreviousSession::before { + content: url("chrome://browser/content/abouthome/restore-large@2x.png"); + } + + body[narrow] #restorePreviousSession::before { + content: url("chrome://browser/content/abouthome/restore@2x.png"); + } +} + diff --git a/application/palemoon/base/content/abouthome/aboutHome.js b/application/palemoon/base/content/abouthome/aboutHome.js new file mode 100644 index 000000000..9e826b69e --- /dev/null +++ b/application/palemoon/base/content/abouthome/aboutHome.js @@ -0,0 +1,354 @@ +/* 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/. */ + +const SEARCH_ENGINES = { + "Google": { + // This is the "2x" image designed for OS X retina resolution, Windows at 192dpi, etc.; + // it will be scaled down as necessary on lower-dpi displays. + image: "data:image/png;base64," + + "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" + }, + "DuckDuckGo": { + image: "data:image/png;base64," + + "iVBORw0KGgoAAAANSUhEUgAAAIwAAAA4CAYAAAAvmxBdAAAVhUlEQVR4Xu3dd5SU1d3A8e/vPs/0" + + "2crussBSdkHEAgoomEQSUTAW3hRbfMUeUwgSj9FoorGXqDGxBHvMazRGE0KsBQuiEVRUEEEM0pfO" + + "1tndmZ32PPf3knDCUZAlIYsxOfM553f2v91/vnufOzP33BFV5TOnQFQ1snFN/YCVb88Z6S2dd1B8" + + "3Qf7lTSv6R9PNle4uXQEVNRxvUy4qL29pPeGRNXA5d6g4fOLhoyYN2C/oe8Vl5QmAoFAnm72GQqm" + + "oKO9vXj5e/NHtr48/fjq92eOq2xYOsixvuMpKFuhfJywjQMYI5oKF7evrR09t/LE7z3Ze9TYZyPx" + + "+FpjjPdfEkxBY0ND9ftP//7EkpceOLNm/cJh+J6rylYWcIwSiCHhuEo4ggRdMCLq+UomK5pJq2Y7" + + "BD8HqoIAAmKhPdKjuX7EMc9WnfCde/YZOfot13Xz/6HBFKi1pdmlCya23Dz5PPeDN/eygCqAqIn3" + + "ULduiAb2Ha3BfUYgJeUgBhxHRAwgoupbfF/wPcXL461bRX7xm5Jb8q7Yhno0lzUYMIANx9Lh0y99" + + "svjEc292YkXzAfufE0yBse0tX+qY+uNrOp/+9SGo5yggTlADQw72I4efQGDf4Wg6RW7xO5Jf8g7+" + + "ulVi21rRXAr8HKpWRBzFCSGRIpyKSnX6701wv0PU7Vunms2RmfO0ZGc/Z/zWjSKiAqJOdV1LyUVT" + + "7wkdcuQvENP8mQ+mQGPZt2ZelLj2nCl+Q30ZAqijoVFH+rGTJiHROJnXniE75znxN64yms8AKghd" + + "062DEZVIqQbq9tHwYcdpcL+DNDvvFUlNv1dsywYHA0jAjx512lslF956vkSL5n5Wgymwfq+O/7vx" + + "jvZfX/0/+FkXC27N3n7xlOvVlFdp8pFfSnbuC0bTbYKqIOw+BcSoKeut0WNPtZEjjtPOx++X1FMP" + + "GPysAXD777epxy1PXuj2qXsEsJ+hYArUy9e2Xn7GtPTLj44AFVVHY1/7tld0+g8l+cht2vnE/Y7N" + + "p0S2htJ9FEDUlPWxxZOusE5VjSRunIK3YbkrAhIpzlRMfeGy4P6jbwH8z0AwBZrPDWqacvQzmfkv" + + "D0ZETbxCS3/wC9/t1ZeWq78t3oZlDqiwp6nRyJiveMXnXEL7fdeTef1JV9UKKlp118wrQgeNvX5X" + + "0Rj2uMJjqOmik/6UmbclFkSdylrb4/qHfU0naTzvK463fqkLKijo1oGt0/3ESudrT7jNPznTxL8x" + + "iehXvuUhroJKw6RxV+aWzJ8MyL9vhSmIJm778fT2h244CiPqVg+0Pa64TzPzZtv2X18XUD8jAIiB" + + "3nWEK6rBDaHZTmyiCb+lGe1MoGpB6FZOWR+/7KJbbXb+n0lOv8tV64mJlnX2mr74ZKei11PshMue" + + "UmA6X3nyqrbf/uxIAKe4l5ZdcqdNz5vNllhc9TKCAIAaQ6puNLEzzqN86EhQRTs78BvWkX3/bTpf" + + "mkZm3p/RbAoM3cJrWe+03PB9yn881drOlJd85gHXT7VGG77/1TvK7n1pRThe/MGnuMIU+M2bj91w" + + "wrBHbUdDnEDUVlx2n29TbbT8/AIXLy18hAQiFJ8wmdD44wnvPwoxZvs9ENlFb9D2qxvIzH0BxNId" + + "VMGtGuBXXPNrm7j7OskueNkBKDnjkudKp1x7ItD5KQRToNavaLzgGy91vjr9ABAtPuUCL/LFo2m8" + + "8ETHJlsMwsek9zqEztMvRbw8TjBMqLSU4spKiquqicVjiAgANtVBx8O3kbjvOtTPgPCvUwjufZBX" + + "ftEt2njBScZv2+gYN5KvfvCN84N7H3DHpxBMQerNmZc3nHvU5ajnBGqHedW3Psam848jv+I9F2FH" + + "4qA4gIJvkHgZgeGHEvzSUZSMP4FQccnHVpvk0w+Seu73ZN57Hc11guFfo6JFX/+uFzpgNE1XnOUi" + + "KpEDvriy4p4XxrrB0Jo9GExB0+bNtanvjX/VX7mor6jR6rtmeOk3ZpJ46CZXRKWrx4MTK6fkrB8S" + + "n3AqTnkVuAFEgO0qU1Xw8ngbVpO462o6ZjyCGMu/RB3tOfUZr+03t5B5+/kAIhq7/g8/rTrqhEv3" + + "YDAFCx+889qiWyZfahVihx2fL598haw7ebRRmzbshCgEBgyj+rY/Eui/F/8UVVp+eTmt918HRvlX" + + "hOqGexWX3q4bvn2kg582nZW1awc9vuhL4Whs1R4IpqC1ubnXhm8d/mp45cK9cEK29/0v+22P3Elq" + + "xsMBhJ3Ssj7U/OYVwv0GsTvU99h03nGkXnsKEXabqqNVV96b75z9vCRf+kPAEWi5+P4fjvzfs2/e" + + "Ay+rC96f9fzYPqsX11mF2EGH+yYal9TMJ4wCKJ9ILAQmXbXbsWSyeVLpPGUX3ULm3Tfxk43sNrG0" + + "/eE+Uz7pMk29/Li1Nmeyj917QsexJ9xbVFzcDmDoFgWe5wWysx7/mvq+o1Y0NuEUOp6bpjaXEgV2" + + "Nuke/Sg6+n8B8H3LklWNzJq7gtXrW7BW6UpzopN7fj+X+6bNZdqCNuKnnof6oOzmqEr2w/cc9fMa" + + "2OsAtQoVq947YPVfFu/XzStMQWtTU1WPJXNHWwWnR28bHjZKWu+9AUVFlE+mkDxoPEXxCNYq055f" + + "yKamJGNHD0REUFVA2JlgwOGbJxxMLBKkrSNDONWTjkfvxG/dwO6yXobO2TMl+sVjNPPBO+pmM+FV" + + "s18cP3T0597oxmAKNqxYtm9R07oaayG0/0HqNW4mt26Vg4LyycSD7N6jcIFM3iMWDTH5lKEEXId/" + + "RFEsxN+VFkfQWDXxcceReHQqGHaPqnS+NctUXnyzlUBIfS8jzvzXxnieF3ZdN+PSLQo6PlhwcMxa" + + "Y30IH/h5Mu+/o9bLsCu58l4AhIMuR4/ZG9cx/LNS6RwbGzuorSkjfuTxtP7hLsBntwjkNq0T9TxM" + + "RV/1Ni2jdPUH+3q5XNFfgzF0hwLHXfmXA3wFcRwN7zuC9HvviKqC0uXkjYsCIrItlpa2TmbM/pCV" + + "a5tR1a5DTWWZ+MNHuPTWGbwwZxnBQfvi9hwAym6PptvFb20kWDsQtRBNbO6ZSyX7dNcjqUA1HG9a" + + "308VJF6qblVvydUvQa2KCjtlFGwqScazRAMOAIn2NOdc9kfqN7Ry8jEHcvyRQ6mrKWdn1m5KsHJd" + + "C9Fw4G97oKMO+SrBQUPIbVgBwu5RJbP8Qwn03UvVn4FR39H21kFUVi0wdIeCYDjRWKkKpqiHqlr1" + + "WpsEdvGfDLgNa2nPeADbVpctEeD7lufnLGXpqka6MnhAJRMnDKdf7zLO/NpIxA0QqKlF7XZ/a+uA" + + "bB0UdGcrjKrkN9QT6N0fFVEVcFJt3bXCFKiq6zdtKlYFJxoDL49NZ1GlawLRVYtozfhUFwFA76pi" + + "vvyFvXnpjWVUlcU4aP8auuI6hovPOQxVRUQAMOE4WFC2MmEI9YaiUUJ0X0F9yKyGxIuW3AZA+DgF" + + "v61ZnPJKRQEFL9FS3k3BFAjq4uWCqkAoiFormvdF6ZoKRFcupjnt8XfhUIDLJx3BN48/mMqyGPFY" + + "iF1jWyyqis21E6iGyF5CdD8hMkQI9gYJCFgAiB6oaN7Q8LAFYQeay6iJRFQFVMHx8+HuC6ZAsCoA" + + "iICqKICyS6H1S9mcaEf7Fm1bIYJBl9qacrqm4DWguTWgafDbIL8O0u9R/qWn6HGEgxMTAFC2soAB" + + "P6G0zrS0PKEggPIxqqBWQURQUO3mE3cF4uG6nirYnAeOYzGOURB2wSTb8NavJrNPLyIBh11jayTN" + + "v0TbHgevETQHeKAWALcYQEDZSkBEyayDtlmWttlKvpGthE8WDInN5nRbLMZ43RdMgS/hWEqh3E+m" + + "RNygEgqqtrNrCsFlC2g79OBdB6OKpl5G10+C7CpAQYRtRPgYB/x2JTlfScxSUksUzW4XirIDtWDi" + + "ZeolWrEWACQUaeuuYApEck5JeTNKX789gRhHnJJS8pvXIkKX1ED0w3m0ZM+muoguaXYxWj8R/CYQ" + + "AQSskmsCJw5OVEDA71BSi5S217b+9FOg2/ekXUcc6NmX/MZ1YFUQcGJFm7ormAIh41b1Wm+VAzXZ" + + "gteR0GDNYNJL39cthF0IL1tIUzIPFXStcy74jSAGAFWl/lpLxzuKBMCJAgb8JKgHOHyMKv8QMUZD" + + "g4aQnPMiKoCIOqU9VnZbMAWSD9UN+QDlWJvJSeYv7xMeOpzEzD8h7Fpw43Kam5rw+xXjGGGnIsPB" + + "REHTgGDTkF6tqANY8JJsgwEUAJSPPL0EULoWjGmgujfp5R8KgImVtG0JZhWAoVsUlIz/2jtqRUGl" + + "8903NDb8EMSEUNjlmM40/pplpHIeXZHwUKTHZMAFwIkJ1acZghWAgNqPjAIGnDhE66DHl4Wacw0D" + + "LjGE+8FOP7VQcCur1cSKNbe+XhSIjfjCMhONd+cepiBYO/hdU1TW6idbyjvemWuqzv2JBqr62OzG" + + "FQ67oh7BD9+l/YjDKA4H2CkJID0vJ1OfQJvvI1QjlI8zFB0sZJYr2U3gd4I44JZAsEoI9gS3FCQo" + + "CEpmDXgZ2PnLftkS+xc0/eH7+Ml2wUB05Ji54jipbgymwEQi6yNDhi1Mvv3KYdk1SyW3ZqUWjz3G" + + "Njw81QgqdEFVCS9ZQFPGUlNC10yUxBt9aLjXEttHKB4txIcKsf3lb+GgoApYthLAQm6j0vqK0vSs" + + "Jd8CIjuPsnjcMdoy7TeiqBjj+LERh7wIaDcGUyCO27klkGc7tgSDlzctT/7eVpx8Ng2/uwfVHLsS" + + "Wv0+ifYUWhVBROiKWh8vBe3v6t/GhCHYE6IDhUidEKoGEwIvCZl6SP1F6Vyh+B2AbB1lRyiEB+zl" + + "B/v0p+PtOQaBQJ8BqyN77/c2QDcHU1AybsLTm35184Vec0NVYsbjUn3uj6Ro9OFe++szAghdcho3" + + "0LlpI7naHoRcoStueSXKNvgZSK+GzlWKiO74ASMg0vV7LwCqRstPPlsTzz2Gl2wTMVB82DHPumXl" + + "mwvXfewB6vvO6h+c/mDLE787Ra1or8mXeMWHHcmHJx3uiPiGLqgE2XTlg3z+xK9THg3SlbZZM1h+" + + "1gTApzsFq+u8QQ8+ydKTxomX2OSYaFHH4N++OD42YvTcPbDCFIjj+JWnn3tX2ysvTMgnmoo3P3CH" + + "6XHyWfT46kS/6YmHBFTYCdEcgSXvksh+lfIoXQrVDsKUVOIlNrGdrhaRrlmjvS66yjb+7n7JNW9y" + + "cUR7njFlRmz4qPl78H6YgtiBo96s/t4lz6iKesmEs/6Gy2yvC66QQGU/q12djbEQWrqI5lSOXa8E" + + "fQgP2ptP+n1N8SCpoPPPnbBT0dIj/icfrhssmx+611GBQGXftupvnX8bIvk9G0xhlfGqTv/2jZEB" + + "+zQAND89zU0teFv7Xn6TlUDUdtEMwbVLaG9N4FslmW+gKbOGjN+5wzFNE45QPGY8WFAAC4niEHdM" + + "GMjJU0bw4Ji+GPsP9qIQqq6zfS6+Rtb85HzRXMqAY/v+6PpH3PKKN9mOc+WVV9K9CiQQ3Bzdd1iw" + + "afrDX1LNO8m359LzrO+pW1yh7W+/blAr7AjJWzoOPZaaAX2Yu/lWHls1ldc2z2VjOklJsILiQBwR" + + "wVefXDRAy1N/gnyWv4yu4s4zhzCztox2DAIctaABlF1y4mW29md32y2bdJqfneYCUnzI4cv6XnrD" + + "d8SYxKd1e0OBaqz+yose23j/z8cBFA3/gjfw9l/Lxjt+rg2P/soFX9iBQ+OP7mTUWWeyoOkaXtv0" + + "KqtTsDxpSfoVfLn34YzoU8bsxnksb23EeWMxxwRyvDGigqVJWJ5U2vLQvznNA3cuIJLz6YqEiuyA" + + "a27x1fOov+J8x+bTxo2Xdw6btfDUYK8+j32aN1AViKT6/eS6ye1zXn45tWR+Tce7r7v1V/zQ73/N" + + "L0R9z2+Y9oCzQzTWx/1wEa1pH8SwlWDE0JBp5oHVv2eB+jQnhdaUoWNQnIE1LmQUUP4uHzDkHEOY" + + "nQSjYCJFtt9lN/kmFmflxZMdm0sbxbGDpj50+5ZYngT49IMpPJqW7TP9pVPf/fy+T3qJTcUtM59y" + + "FPEGXHuLOOUV3oZ7fuGieeEjgsvfo7WjE9cN8FECOI5gEEQEgJyFVF7ZnhXBIqiyA1UIlFb5tdff" + + "ZlFY+aMpjt/ebFSh/yU/nV467pgrAf/fdItmgVtS9uqwF98620TK0mCl5aUn3OWTT6dq4tky8Of3" + + "eSZSZlXZJrC+nmRTC0aibE/4OFVFAWv4GMcqxirbUysaG3yAN+S3T2i+sYHlF37H8doajSr0Ovv7" + + "s/qce+E5QPbffO1qQah33+kH/nnhaYHKfq2qKm3vvOYu/to43LIKhr0415aOOTpvNaBWwSSayNav" + + "QrR0hzhcP86g6H4MjNUyuuJArjrwO9w06hGOesWl3+oOgr5iBEpSecJZH2vZOiqKG7N9Jl3k7f2b" + + "P7Hp/+7RlZed7/rpdqM4ts+5lz5be+2txyHS/hm62Lkg39x05AenfOWejoVv9hdUkIBWTzzHqznv" + + "YumYN1fX//JnJvXBItNy7k8lftpgZm28iRVJZXM2yoiKcXx3yERqi3qxvaY/Pcqyb09kc0WQRf3i" + + "lKY8Rq5IYBF1wnFKDxtva6ZcaHONTdRffZF0Ll/iYsAEI/m6a29/qPq0b56/LZbPVjAFNpMeuvrK" + + "i2/f+ODdY9TmHXwI1dT6vSedpz3GHyvJhfN1VUMSjhljFrb/UuLBfeRzPY+hX7w/O2PzORYePYbk" + + "orcQFRXXJVBdo+Vjj7QVx5+MuAHZcPdt2vTsYw54gkKopq55yN2/vano4M/dBmQBPqvBFKiWtc56" + + "4YJlF3x3Unb96nIEUKOR2sG28usnafmErxOoHUwwGkLEiCDCNgg70paXnmPNjVdr0fCRWjJmLOEB" + + "daRXraDxj7+j9dUXjc2kBFTEuH7VSWfOrbvqpkvc0rI/Awrw2Q+mwPgdHaPX3X3rj9dNvfEom0kF" + + "VAEVdYvLtGjoAVo85ggtGf05CfcbqMGqKjGhMB9pRwEBUN/Ha23R9OrlZFatlMRrL2v73NclXb/C" + + "qJ8XMQCyJaZD1g687hdTi0aMvh+Rlv/AL9gq0Hw+3PbWnMPX3n7jlLY5s8baXDYEgIIiagIh3NIe" + + "Gqqq1EBVb9zyCtxoXDFGbT5n/PaE5ho2mtzmjeSbW/A720R9X8SwTbimf33Pb5zxUO9vTv5VoKKq" + + "/r/gK/wKbDYTTi1eNHTzH393SvPzT0/IrF5Zp2KNCFtpF8cqBba/ndVEYqmKCcfP6Xn8xEeLRx78" + + "rFtS2oCIAvx3BVMgms/H8q3N+zc9/cTYphlPf/6vIWU3ru+jnufySUTULSpujwzca9mWPcy8skMP" + + "e6Xkc4fODlb32iyOk6cb/T/N+faHj8AX2gAAAABJRU5ErkJggg==" + } +}; + +// This global tracks if the page has been set up before, to prevent double inits +let gInitialized = false; +let gObserver = new MutationObserver(function (mutations) { + for (let mutation of mutations) { + if (mutation.attributeName == "searchEngineURL") { + setupSearchEngine(); + if (!gInitialized) { + gInitialized = true; + } + return; + } + } +}); + +window.addEventListener("pageshow", function () { + // Delay search engine setup, cause browser.js::BrowserOnAboutPageLoad runs + // later and may use asynchronous getters. + window.gObserver.observe(document.documentElement, { attributes: true }); + fitToWidth(); + window.addEventListener("resize", fitToWidth); +}); + +window.addEventListener("pagehide", function() { + window.gObserver.disconnect(); + window.removeEventListener("resize", fitToWidth); +}); + +function onSearchSubmit(aEvent) +{ + let searchTerms = document.getElementById("searchText").value; + let searchURL = document.documentElement.getAttribute("searchEngineURL"); + + if (searchURL && searchTerms.length > 0) { + // Send an event that a search was performed. This was originally + // added so Firefox Health Report could record that a search from + // about:home had occurred. + let engineName = document.documentElement.getAttribute("searchEngineName"); + let event = new CustomEvent("AboutHomeSearchEvent", {detail: engineName}); + document.dispatchEvent(event); + + const SEARCH_TOKEN = "_searchTerms_"; + let searchPostData = document.documentElement.getAttribute("searchEnginePostData"); + if (searchPostData) { + // Check if a post form already exists. If so, remove it. + const POST_FORM_NAME = "searchFormPost"; + let form = document.forms[POST_FORM_NAME]; + if (form) { + form.parentNode.removeChild(form); + } + + // Create a new post form. + form = document.body.appendChild(document.createElement("form")); + form.setAttribute("name", POST_FORM_NAME); + // Set the URL to submit the form to. + form.setAttribute("action", searchURL.replace(SEARCH_TOKEN, searchTerms)); + form.setAttribute("method", "post"); + + // Create new elements for search param. + searchPostData = searchPostData.split("&"); + for (let postVar of searchPostData) { + let [name, value] = postVar.split("="); + if (value == SEARCH_TOKEN) { + value = searchTerms; + } + let input = document.createElement("input"); + input.setAttribute("type", "hidden"); + input.setAttribute("name", name); + input.setAttribute("value", value); + form.appendChild(input); + } + // Submit the form. + form.submit(); + } else { + searchURL = searchURL.replace(SEARCH_TOKEN, encodeURIComponent(searchTerms)); + window.location.href = searchURL; + } + } + + aEvent.preventDefault(); +} + + +function setupSearchEngine() +{ + // The "autofocus" attribute doesn't focus the form element + // immediately when the element is first drawn, so the + // attribute is also used for styling when the page first loads. + let searchText = document.getElementById("searchText"); + searchText.addEventListener("blur", function searchText_onBlur() { + searchText.removeEventListener("blur", searchText_onBlur); + searchText.removeAttribute("autofocus"); + }); + + let searchEngineName = document.documentElement.getAttribute("searchEngineName"); + let searchEngineInfo = SEARCH_ENGINES[searchEngineName]; + let logoElt = document.getElementById("searchEngineLogo"); + + // Add search engine logo. + if (searchEngineInfo && searchEngineInfo.image) { + logoElt.parentNode.hidden = false; + logoElt.src = searchEngineInfo.image; + logoElt.alt = searchEngineName; + searchText.placeholder = ""; + } + else { + logoElt.parentNode.hidden = true; + searchText.placeholder = searchEngineName; + } + +} + +function fitToWidth() { + if (window.scrollMaxX) { + document.body.setAttribute("narrow", "true"); + } else if (document.body.hasAttribute("narrow")) { + document.body.removeAttribute("narrow"); + fitToWidth(); + } +} diff --git a/application/palemoon/base/content/abouthome/aboutHome.xhtml b/application/palemoon/base/content/abouthome/aboutHome.xhtml new file mode 100644 index 000000000..cb3fa634a --- /dev/null +++ b/application/palemoon/base/content/abouthome/aboutHome.xhtml @@ -0,0 +1,60 @@ + + + + + + %htmlDTD; + + %globalDTD; + + %aboutHomeDTD; + + %browserDTD; +]> + + + + &abouthome.pageTitle; + + + + + + + + + +
+ + +
+

&safeb.blocked.phishingPage.title;

+

&safeb.blocked.malwarePage.title;

+
+ +
+ + +
+

&safeb.blocked.phishingPage.shortDesc;

+

&safeb.blocked.malwarePage.shortDesc;

+
+ + +
+

&safeb.blocked.phishingPage.longDesc;

+

&safeb.blocked.malwarePage.longDesc;

+
+ + +
+ + + +
+
+
+ +
+
+ + + + diff --git a/application/palemoon/base/content/browser-addons.js b/application/palemoon/base/content/browser-addons.js new file mode 100644 index 000000000..7993a0c9c --- /dev/null +++ b/application/palemoon/base/content/browser-addons.js @@ -0,0 +1,536 @@ +# -*- 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/. + +// Removes a doorhanger notification if all of the installs it was notifying +// about have ended in some way. +function removeNotificationOnEnd(notification, installs) { + let count = installs.length; + + function maybeRemove(install) { + install.removeListener(this); + + if (--count == 0) { + // Check that the notification is still showing + let current = PopupNotifications.getNotification(notification.id, notification.browser); + if (current === notification) + notification.remove(); + } + } + + for (let install of installs) { + install.addListener({ + onDownloadCancelled: maybeRemove, + onDownloadFailed: maybeRemove, + onInstallFailed: maybeRemove, + onInstallEnded: maybeRemove + }); + } +} + +const gXPInstallObserver = { + _findChildShell: function (aDocShell, aSoughtShell) + { + if (aDocShell == aSoughtShell) + return aDocShell; + + var node = aDocShell.QueryInterface(Components.interfaces.nsIDocShellTreeItem); + for (var i = 0; i < node.childCount; ++i) { + var docShell = node.getChildAt(i); + docShell = this._findChildShell(docShell, aSoughtShell); + if (docShell == aSoughtShell) + return docShell; + } + return null; + }, + + _getBrowser: function (aDocShell) + { + for (let browser of gBrowser.browsers) { + if (this._findChildShell(browser.docShell, aDocShell)) + return browser; + } + return null; + }, + + observe: function (aSubject, aTopic, aData) + { + var brandBundle = document.getElementById("bundle_brand"); + var installInfo = aSubject.QueryInterface(Components.interfaces.amIWebInstallInfo); + var browser = installInfo.browser; + + // Make sure the browser is still alive. + if (!browser || gBrowser.browsers.indexOf(browser) == -1) + return; + + const anchorID = "addons-notification-icon"; + var messageString, action; + var brandShortName = brandBundle.getString("brandShortName"); + + var notificationID = aTopic; + // Make notifications persist a minimum of 30 seconds + var options = { + timeout: Date.now() + 30000 + }; + + switch (aTopic) { + case "addon-install-disabled": + notificationID = "xpinstall-disabled" + + if (gPrefService.prefIsLocked("xpinstall.enabled")) { + messageString = gNavigatorBundle.getString("xpinstallDisabledMessageLocked"); + buttons = []; + } + else { + messageString = gNavigatorBundle.getString("xpinstallDisabledMessage"); + + action = { + label: gNavigatorBundle.getString("xpinstallDisabledButton"), + accessKey: gNavigatorBundle.getString("xpinstallDisabledButton.accesskey"), + callback: function editPrefs() { + gPrefService.setBoolPref("xpinstall.enabled", true); + } + }; + } + + PopupNotifications.show(browser, notificationID, messageString, anchorID, + action, null, options); + break; + case "addon-install-origin-blocked": { + messageString = gNavigatorBundle.getFormattedString("xpinstallPromptWarningOrigin", + [brandShortName]); + + let popup = PopupNotifications.show(browser, notificationID, + messageString, anchorID, + null, null, options); + removeNotificationOnEnd(popup, installInfo.installs); + break; } + case "addon-install-blocked": + let originatingHost; + try { + originatingHost = installInfo.originatingURI.host; + } catch (ex) { + // Need to deal with missing originatingURI and with about:/data: URIs more gracefully, + // see bug 1063418 - but for now, bail: + return; + } + messageString = gNavigatorBundle.getFormattedString("xpinstallPromptWarning", + [brandShortName, originatingHost]); + + action = { + label: gNavigatorBundle.getString("xpinstallPromptAllowButton"), + accessKey: gNavigatorBundle.getString("xpinstallPromptAllowButton.accesskey"), + callback: function() { + installInfo.install(); + } + }; + + let popup = PopupNotifications.show(browser, notificationID, messageString, + anchorID, action, null, options); + removeNotificationOnEnd(popup, installInfo.installs); + break; + case "addon-install-started": + var needsDownload = function needsDownload(aInstall) { + return aInstall.state != AddonManager.STATE_DOWNLOADED; + } + // If all installs have already been downloaded then there is no need to + // show the download progress + if (!installInfo.installs.some(needsDownload)) + return; + notificationID = "addon-progress"; + messageString = gNavigatorBundle.getString("addonDownloading"); + messageString = PluralForm.get(installInfo.installs.length, messageString); + options.installs = installInfo.installs; + options.contentWindow = browser.contentWindow; + options.sourceURI = browser.currentURI; + options.eventCallback = function(aEvent) { + if (aEvent != "removed") + return; + options.contentWindow = null; + options.sourceURI = null; + }; + PopupNotifications.show(browser, notificationID, messageString, anchorID, + null, null, options); + break; + case "addon-install-failed": + // TODO This isn't terribly ideal for the multiple failure case + for (let install of installInfo.installs) { + let host = (installInfo.originatingURI instanceof Ci.nsIStandardURL) && + installInfo.originatingURI.host; + if (!host) + host = (install.sourceURI instanceof Ci.nsIStandardURL) && + install.sourceURI.host; + + let error = (host || install.error == 0) ? "addonError" : "addonLocalError"; + if (install.error != 0) + error += install.error; + else if (install.addon.jetsdk) + error += "JetSDK"; + else if (install.addon.blocklistState == Ci.nsIBlocklistService.STATE_BLOCKED) + error += "Blocklisted"; + else + error += "Incompatible"; + + messageString = gNavigatorBundle.getString(error); + messageString = messageString.replace("#1", install.name); + if (host) + messageString = messageString.replace("#2", host); + messageString = messageString.replace("#3", brandShortName); + messageString = messageString.replace("#4", Services.appinfo.version); + + PopupNotifications.show(browser, notificationID, messageString, anchorID, + action, null, options); + } + break; + case "addon-install-complete": + var needsRestart = installInfo.installs.some(function(i) { + return i.addon.pendingOperations != AddonManager.PENDING_NONE; + }); + + if (needsRestart) { + messageString = gNavigatorBundle.getString("addonsInstalledNeedsRestart"); + action = { + label: gNavigatorBundle.getString("addonInstallRestartButton"), + accessKey: gNavigatorBundle.getString("addonInstallRestartButton.accesskey"), + callback: function() { + Application.restart(); + } + }; + } + else { + messageString = gNavigatorBundle.getString("addonsInstalled"); + action = null; + } + + messageString = PluralForm.get(installInfo.installs.length, messageString); + messageString = messageString.replace("#1", installInfo.installs[0].name); + messageString = messageString.replace("#2", installInfo.installs.length); + messageString = messageString.replace("#3", brandShortName); + + // Remove notificaion on dismissal, since it's possible to cancel the + // install through the addons manager UI, making the "restart" prompt + // irrelevant. + options.removeOnDismissal = true; + + PopupNotifications.show(browser, notificationID, messageString, anchorID, + action, null, options); + break; + } + } +}; + +/* + * When addons are installed/uninstalled, check and see if the number of items + * on the add-on bar changed: + * - If an add-on was installed, incrementing the count, show the bar. + * - If an add-on was uninstalled, and no more items are left, hide the bar. + */ +let AddonsMgrListener = { + get addonBar() document.getElementById("addon-bar"), + get statusBar() document.getElementById("status-bar"), + getAddonBarItemCount: function() { + // Take into account the contents of the status bar shim for the count. + var itemCount = this.statusBar.childNodes.length; + + var defaultOrNoninteractive = this.addonBar.getAttribute("defaultset") + .split(",") + .concat(["separator", "spacer", "spring"]); + for (let item of this.addonBar.currentSet.split(",")) { + if (defaultOrNoninteractive.indexOf(item) == -1) + itemCount++; + } + + return itemCount; + }, + onInstalling: function(aAddon) { + this.lastAddonBarCount = this.getAddonBarItemCount(); + }, + onInstalled: function(aAddon) { + if (this.getAddonBarItemCount() > this.lastAddonBarCount) + setToolbarVisibility(this.addonBar, true); + }, + onUninstalling: function(aAddon) { + this.lastAddonBarCount = this.getAddonBarItemCount(); + }, + onUninstalled: function(aAddon) { + if (this.getAddonBarItemCount() == 0) + setToolbarVisibility(this.addonBar, false); + }, + onEnabling: function(aAddon) this.onInstalling(), + onEnabled: function(aAddon) this.onInstalled(), + onDisabling: function(aAddon) this.onUninstalling(), + onDisabled: function(aAddon) this.onUninstalled(), +}; + + +var LightWeightThemeWebInstaller = { + handleEvent: function (event) { + switch (event.type) { + case "InstallBrowserTheme": + case "PreviewBrowserTheme": + case "ResetBrowserThemePreview": + // ignore requests from background tabs + if (event.target.ownerDocument.defaultView.top != content) + return; + } + switch (event.type) { + case "InstallBrowserTheme": + this._installRequest(event); + break; + case "PreviewBrowserTheme": + this._preview(event); + break; + case "ResetBrowserThemePreview": + this._resetPreview(event); + break; + case "pagehide": + case "TabSelect": + this._resetPreview(); + break; + } + }, + + get _manager () { + var temp = {}; + Cu.import("resource://gre/modules/LightweightThemeManager.jsm", temp); + delete this._manager; + return this._manager = temp.LightweightThemeManager; + }, + + _installRequest: function (event) { + var node = event.target; + var data = this._getThemeFromNode(node); + if (!data) + return; + + if (this._isAllowed(node)) { + this._install(data); + return; + } + + var allowButtonText = + gNavigatorBundle.getString("lwthemeInstallRequest.allowButton"); + var allowButtonAccesskey = + gNavigatorBundle.getString("lwthemeInstallRequest.allowButton.accesskey"); + var message = + gNavigatorBundle.getFormattedString("lwthemeInstallRequest.message", + [node.ownerDocument.location.host]); + var buttons = [{ + label: allowButtonText, + accessKey: allowButtonAccesskey, + callback: function () { + LightWeightThemeWebInstaller._install(data); + } + }]; + + this._removePreviousNotifications(); + + var notificationBox = gBrowser.getNotificationBox(); + var notificationBar = + notificationBox.appendNotification(message, "lwtheme-install-request", "", + notificationBox.PRIORITY_INFO_MEDIUM, + buttons); + notificationBar.persistence = 1; + }, + + _install: function (newLWTheme) { + var previousLWTheme = this._manager.currentTheme; + + var listener = { + onEnabling: function(aAddon, aRequiresRestart) { + if (!aRequiresRestart) + return; + + let messageString = gNavigatorBundle.getFormattedString("lwthemeNeedsRestart.message", + [aAddon.name], 1); + + let action = { + label: gNavigatorBundle.getString("lwthemeNeedsRestart.button"), + accessKey: gNavigatorBundle.getString("lwthemeNeedsRestart.accesskey"), + callback: function () { + Application.restart(); + } + }; + + let options = { + timeout: Date.now() + 30000 + }; + + PopupNotifications.show(gBrowser.selectedBrowser, "addon-theme-change", + messageString, "addons-notification-icon", + action, null, options); + }, + + onEnabled: function(aAddon) { + LightWeightThemeWebInstaller._postInstallNotification(newLWTheme, previousLWTheme); + } + }; + + AddonManager.addAddonListener(listener); + this._manager.currentTheme = newLWTheme; + AddonManager.removeAddonListener(listener); + }, + + _postInstallNotification: function (newTheme, previousTheme) { + function text(id) { + return gNavigatorBundle.getString("lwthemePostInstallNotification." + id); + } + + var buttons = [{ + label: text("undoButton"), + accessKey: text("undoButton.accesskey"), + callback: function () { + LightWeightThemeWebInstaller._manager.forgetUsedTheme(newTheme.id); + LightWeightThemeWebInstaller._manager.currentTheme = previousTheme; + } + }, { + label: text("manageButton"), + accessKey: text("manageButton.accesskey"), + callback: function () { + BrowserOpenAddonsMgr("addons://list/theme"); + } + }]; + + this._removePreviousNotifications(); + + var notificationBox = gBrowser.getNotificationBox(); + var notificationBar = + notificationBox.appendNotification(text("message"), + "lwtheme-install-notification", "", + notificationBox.PRIORITY_INFO_MEDIUM, + buttons); + notificationBar.persistence = 1; + notificationBar.timeout = Date.now() + 20000; // 20 seconds + }, + + _removePreviousNotifications: function () { + var box = gBrowser.getNotificationBox(); + + ["lwtheme-install-request", + "lwtheme-install-notification"].forEach(function (value) { + var notification = box.getNotificationWithValue(value); + if (notification) + box.removeNotification(notification); + }); + }, + + _previewWindow: null, + _preview: function (event) { + if (!this._isAllowed(event.target)) + return; + + var data = this._getThemeFromNode(event.target); + if (!data) + return; + + this._resetPreview(); + + this._previewWindow = event.target.ownerDocument.defaultView; + this._previewWindow.addEventListener("pagehide", this, true); + gBrowser.tabContainer.addEventListener("TabSelect", this, false); + + this._manager.previewTheme(data); + }, + + _resetPreview: function (event) { + if (!this._previewWindow || + event && !this._isAllowed(event.target)) + return; + + this._previewWindow.removeEventListener("pagehide", this, true); + this._previewWindow = null; + gBrowser.tabContainer.removeEventListener("TabSelect", this, false); + + this._manager.resetPreview(); + }, + + _isAllowed: function (node) { + var pm = Services.perms; + + var uri = node.ownerDocument.documentURIObject; + return pm.testPermission(uri, "install") == pm.ALLOW_ACTION; + }, + + _getThemeFromNode: function (node) { + return this._manager.parseTheme(node.getAttribute("data-browsertheme"), + node.baseURI); + } +} + +/* + * Listen for Lightweight Theme styling changes and update the browser's theme accordingly. + */ +let LightweightThemeListener = { + _modifiedStyles: [], + + init: function () { + XPCOMUtils.defineLazyGetter(this, "styleSheet", function() { + for (let i = document.styleSheets.length - 1; i >= 0; i--) { + let sheet = document.styleSheets[i]; + if (sheet.href == "chrome://browser/skin/browser-lightweightTheme.css") + return sheet; + } + }); + + Services.obs.addObserver(this, "lightweight-theme-styling-update", false); + Services.obs.addObserver(this, "lightweight-theme-optimized", false); + if (document.documentElement.hasAttribute("lwtheme")) + this.updateStyleSheet(document.documentElement.style.backgroundImage); + }, + + uninit: function () { + Services.obs.removeObserver(this, "lightweight-theme-styling-update"); + Services.obs.removeObserver(this, "lightweight-theme-optimized"); + }, + + /** + * Append the headerImage to the background-image property of all rulesets in + * browser-lightweightTheme.css. + * + * @param headerImage - a string containing a CSS image for the lightweight theme header. + */ + updateStyleSheet: function(headerImage) { + if (!this.styleSheet) + return; + this.substituteRules(this.styleSheet.cssRules, headerImage); + }, + + substituteRules: function(ruleList, headerImage, existingStyleRulesModified = 0) { + let styleRulesModified = 0; + for (let i = 0; i < ruleList.length; i++) { + let rule = ruleList[i]; + if (rule instanceof Ci.nsIDOMCSSGroupingRule) { + // Add the number of modified sub-rules to the modified count + styleRulesModified += this.substituteRules(rule.cssRules, headerImage, existingStyleRulesModified + styleRulesModified); + } else if (rule instanceof Ci.nsIDOMCSSStyleRule) { + if (!rule.style.backgroundImage) + continue; + let modifiedIndex = existingStyleRulesModified + styleRulesModified; + if (!this._modifiedStyles[modifiedIndex]) + this._modifiedStyles[modifiedIndex] = { backgroundImage: rule.style.backgroundImage }; + + rule.style.backgroundImage = this._modifiedStyles[modifiedIndex].backgroundImage + ", " + headerImage; + styleRulesModified++; + } else { + Cu.reportError("Unsupported rule encountered"); + } + } + return styleRulesModified; + }, + + // nsIObserver + observe: function (aSubject, aTopic, aData) { + if ((aTopic != "lightweight-theme-styling-update" && aTopic != "lightweight-theme-optimized") || + !this.styleSheet) + return; + + if (aTopic == "lightweight-theme-optimized" && aSubject != window) + return; + + let themeData = JSON.parse(aData); + if (!themeData) + return; + this.updateStyleSheet("url(" + themeData.headerURL + ")"); + }, +}; diff --git a/application/palemoon/base/content/browser-appmenu.inc b/application/palemoon/base/content/browser-appmenu.inc new file mode 100644 index 000000000..835bf22bc --- /dev/null +++ b/application/palemoon/base/content/browser-appmenu.inc @@ -0,0 +1,394 @@ +# -*- Mode: HTML -*- +# 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/. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#ifdef MOZ_DEVTOOLS + + + + + + + + +#endif + + +#ifdef MOZ_DEVTOOLS + +#endif + + + +#define ID_PREFIX appmenu_developer_ +#define OMIT_ACCESSKEYS +#include browser-charsetmenu.inc +#undef ID_PREFIX +#undef OMIT_ACCESSKEYS + + + + +#define ID_PREFIX appmenu_ +#define OMIT_ACCESSKEYS +#include browser-charsetmenu.inc +#undef ID_PREFIX +#undef OMIT_ACCESSKEYS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#ifdef MOZ_SERVICES_SYNC + +#endif + + + + + + + + + + + + + + +#ifdef MOZ_SERVICES_SYNC + + + +#endif + + + + + + + + + + + + + + + + + + + + + + + diff --git a/application/palemoon/base/content/browser-charsetmenu.inc b/application/palemoon/base/content/browser-charsetmenu.inc new file mode 100644 index 000000000..628de1341 --- /dev/null +++ b/application/palemoon/base/content/browser-charsetmenu.inc @@ -0,0 +1,62 @@ +# 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/. + +#filter substitution + +#expand + + + + + + + + + + + + diff --git a/application/palemoon/base/content/browser-context.inc b/application/palemoon/base/content/browser-context.inc new file mode 100644 index 000000000..f672ede61 --- /dev/null +++ b/application/palemoon/base/content/browser-context.inc @@ -0,0 +1,379 @@ +# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +# 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/. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#ifdef CONTEXT_COPY_IMAGE_CONTENTS + +#endif + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +