Version in base suite: 68.4.1-1~deb10u1 Base version: thunderbird_68.4.1-1~deb10u1 Target version: thunderbird_68.5.0-1~deb10u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/t/thunderbird/thunderbird_68.4.1-1~deb10u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/t/thunderbird/thunderbird_68.5.0-1~deb10u1.dsc /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/build/pgo/certs/cert9.db |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/build/pgo/certs/key4.db |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/build/pgo/certs/mochitest.client |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_missing_intermediate/missing-intermediate.der |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-1-256_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-1-256_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-1-256_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-1_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-1_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-1_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-256_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-256_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1-256_sf-256_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-1-256_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-1-256_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-1-256_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-1_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-1_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-1_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-256_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-256_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-1_sf-256_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-1-256_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-1-256_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-1-256_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-1_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-1_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-1_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-256_p7-1-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-256_p7-1.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/app_mf-256_sf-256_p7-256.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/big_manifest.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/cose_int_signed_with_pkcs7.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/cose_multiple_signed_with_pkcs7.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/cose_signed_with_pkcs7.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/cose_tampered_good_pkcs7.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/empty_signerInfos.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/huge_manifest.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/only_cose_multiple_signed.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/only_cose_signed.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/unknown_issuer_app.zip |binary /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/security/manager/ssl/tests/unit/test_signed_apps/unsigned_app.zip |binary thunderbird-68.5.0/.cron.yml | 29 thunderbird-68.5.0/accessible/tests/mochitest/events/docload/test_docload_root.html | 7 thunderbird-68.5.0/browser/app/blocklist.xml | 182 thunderbird-68.5.0/browser/base/content/browser-addons.js | 10 thunderbird-68.5.0/browser/base/content/browser.js | 4 thunderbird-68.5.0/browser/base/content/popup-notifications.inc | 15 thunderbird-68.5.0/browser/components/enterprisepolicies/Policies.jsm | 89 thunderbird-68.5.0/browser/components/enterprisepolicies/schemas/policies-schema.json | 16 thunderbird-68.5.0/browser/components/enterprisepolicies/tests/browser/browser_policy_display_menu.js | 66 thunderbird-68.5.0/browser/components/enterprisepolicies/tests/browser/browser_policy_extensionsettings.js | 8 thunderbird-68.5.0/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js | 19 thunderbird-68.5.0/browser/components/extensions/test/browser/browser_ext_pageAction_context.js | 25 thunderbird-68.5.0/browser/components/newtab/test/browser/browser_asrouter_targeting.js | 8 thunderbird-68.5.0/browser/config/mozconfigs/linux64/source | 1 thunderbird-68.5.0/browser/config/version.txt | 2 thunderbird-68.5.0/browser/config/version_display.txt | 2 thunderbird-68.5.0/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm | 2 thunderbird-68.5.0/browser/extensions/webcompat/about-compat/aboutCompat.css | 8 thunderbird-68.5.0/browser/extensions/webcompat/data/injections.js | 139 thunderbird-68.5.0/browser/extensions/webcompat/data/picture_in_picture_overrides.js | 36 thunderbird-68.5.0/browser/extensions/webcompat/data/ua_overrides.js | 164 thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/pictureInPicture.js | 75 thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/pictureInPicture.json | 39 thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/systemManufacturer.js | 27 thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/systemManufacturer.json | 20 thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1305028-gaming.youtube.com-webkit-scrollbar.css | 14 thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1432935-breitbart.com-webkit-scrollbar.css | 13 thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1605611-maps.google.com-directions-time.css | 24 thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1609991-cracked.com-flex-basis-fix.css | 12 thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1610016-gaana.com-input-position-fix.css | 13 thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1472081-election.gov.np-window.sidebar-shim.js | 25 thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1482066-portalminasnet.com-window.sidebar-shim.js | 25 thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1577245-salesforce-communities-hide-unsupported.js | 7 thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1605611-maps.google.com-directions-time.js | 82 thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1610358-pcloud.com-appVersion-change.js | 25 thunderbird-68.5.0/browser/extensions/webcompat/lib/google.js | 4 thunderbird-68.5.0/browser/extensions/webcompat/lib/picture_in_picture_overrides.js | 17 thunderbird-68.5.0/browser/extensions/webcompat/manifest.json | 34 thunderbird-68.5.0/browser/extensions/webcompat/moz.build | 21 thunderbird-68.5.0/browser/extensions/webcompat/run.js | 5 thunderbird-68.5.0/browser/installer/windows/nsis/shared.nsh | 38 thunderbird-68.5.0/browser/installer/windows/nsis/uninstaller.nsi | 12 thunderbird-68.5.0/browser/locales/en-US/chrome/browser/browser.properties | 7 thunderbird-68.5.0/browser/modules/PermissionUI.jsm | 34 thunderbird-68.5.0/comm/.gecko_rev.yml | 2 thunderbird-68.5.0/comm/.taskcluster.yml | 458 thunderbird-68.5.0/comm/calendar/base/content/calendar-base-view.js | 5 thunderbird-68.5.0/comm/calendar/base/content/calendar-month-base-view.js | 4 thunderbird-68.5.0/comm/calendar/base/content/calendar-multiday-base-view.js | 6 thunderbird-68.5.0/comm/calendar/base/content/calendar-views-utils.js | 4 thunderbird-68.5.0/comm/calendar/base/content/preferences/categories.js | 21 thunderbird-68.5.0/comm/calendar/base/content/today-pane.js | 2 thunderbird-68.5.0/comm/calendar/base/src/calDateTimeFormatter.js | 11 thunderbird-68.5.0/comm/calendar/base/src/calItemModule.js | 12 thunderbird-68.5.0/comm/calendar/base/themes/common/calendar-task-tree.css | 34 thunderbird-68.5.0/comm/calendar/base/themes/common/calendar-unifinder.css | 3 thunderbird-68.5.0/comm/calendar/base/themes/windows/calendar-task-tree.css | 14 thunderbird-68.5.0/comm/editor/ui/dialogs/content/EdInsSrc.xul | 4 thunderbird-68.5.0/comm/mail/components/accountcreation/content/createInBackend.js | 47 thunderbird-68.5.0/comm/mail/components/accountcreation/content/emailWizard.js | 18 thunderbird-68.5.0/comm/mail/config/version.txt | 2 thunderbird-68.5.0/comm/mail/config/version_display.txt | 2 thunderbird-68.5.0/comm/mail/installer/removed-files.in | 10 thunderbird-68.5.0/comm/mail/themes/windows/mail/attachmentList.css | 1 thunderbird-68.5.0/comm/mail/themes/windows/mail/mailWindow1.css | 8 thunderbird-68.5.0/comm/mail/themes/windows/mail/menulist.css | 16 thunderbird-68.5.0/comm/mailnews/base/prefs/content/am-identities-list.xul | 2 thunderbird-68.5.0/comm/mailnews/base/prefs/content/am-server.js | 6 thunderbird-68.5.0/comm/mailnews/base/prefs/content/am-smtp.js | 11 thunderbird-68.5.0/comm/mailnews/base/public/nsIMsgIncomingServer.idl | 11 thunderbird-68.5.0/comm/mailnews/base/src/nsMsgThreadedDBView.cpp | 5 thunderbird-68.5.0/comm/mailnews/base/test/unit/test_accountMigration.js | 61 thunderbird-68.5.0/comm/mailnews/base/util/OAuth2.jsm | 185 thunderbird-68.5.0/comm/mailnews/base/util/OAuth2Providers.jsm | 4 thunderbird-68.5.0/comm/mailnews/base/util/mailnewsMigrator.js | 118 thunderbird-68.5.0/comm/mailnews/base/util/nsMsgIncomingServer.cpp | 8 thunderbird-68.5.0/comm/mailnews/compose/public/nsISmtpServer.idl | 11 thunderbird-68.5.0/comm/mailnews/compose/src/nsComposeStrings.cpp | 4 thunderbird-68.5.0/comm/mailnews/compose/src/nsComposeStrings.h | 3 thunderbird-68.5.0/comm/mailnews/compose/src/nsMsgCompose.cpp | 3 thunderbird-68.5.0/comm/mailnews/compose/src/nsSmtpProtocol.cpp | 64 thunderbird-68.5.0/comm/mailnews/compose/src/nsSmtpProtocol.h | 6 thunderbird-68.5.0/comm/mailnews/compose/src/nsSmtpServer.cpp | 37 thunderbird-68.5.0/comm/mailnews/compose/test/unit/test_longLines.js | 10 thunderbird-68.5.0/comm/mailnews/extensions/smime/content/certFetchingStatus.js | 7 thunderbird-68.5.0/comm/mailnews/imap/src/nsImapCore.h | 1 thunderbird-68.5.0/comm/mailnews/imap/src/nsImapProtocol.cpp | 94 thunderbird-68.5.0/comm/mailnews/imap/src/nsImapProtocol.h | 3 thunderbird-68.5.0/comm/mailnews/imap/src/nsImapServerResponseParser.cpp | 11 thunderbird-68.5.0/comm/mailnews/imap/test/unit/test_imapClientid.js | 63 thunderbird-68.5.0/comm/mailnews/imap/test/unit/xpcshell.ini | 1 thunderbird-68.5.0/comm/mailnews/local/src/nsParseMailbox.cpp | 26 thunderbird-68.5.0/comm/mailnews/local/src/nsPop3Protocol.cpp | 148 thunderbird-68.5.0/comm/mailnews/local/src/nsPop3Protocol.h | 25 thunderbird-68.5.0/comm/mailnews/mailnews.js | 9 thunderbird-68.5.0/comm/mailnews/mime/src/mimemsig.cpp | 5 thunderbird-68.5.0/comm/mailnews/test/fakeserver/imapd.js | 15 thunderbird-68.5.0/comm/taskcluster/ci/config.yml | 2 thunderbird-68.5.0/comm/taskcluster/ci/release-bouncer-aliases/kind.yml | 3 thunderbird-68.5.0/comm/taskcluster/ci/release-bouncer-check/kind.yml | 2 thunderbird-68.5.0/comm/taskcluster/ci/release-notify-promote/kind.yml | 2 thunderbird-68.5.0/comm/taskcluster/ci/release-notify-push/kind.yml | 2 thunderbird-68.5.0/comm/taskcluster/ci/release-notify-ship/kind.yml | 2 thunderbird-68.5.0/comm/taskcluster/ci/release-notify-started/kind.yml | 2 thunderbird-68.5.0/comm/taskcluster/ci/release-version-bump/kind.yml | 6 thunderbird-68.5.0/comm/taskcluster/ci/repo-update/kind.yml | 2 thunderbird-68.5.0/config/milestone.txt | 2 thunderbird-68.5.0/debian/changelog | 32 thunderbird-68.5.0/debian/control | 2 thunderbird-68.5.0/debian/gbp.conf | 9 thunderbird-68.5.0/dom/base/crashtests/1291535-iframe.html | 4 thunderbird-68.5.0/dom/base/crashtests/1291535.html | 1 thunderbird-68.5.0/dom/base/crashtests/crashtests.list | 1 thunderbird-68.5.0/dom/fetch/FetchStreamReader.cpp | 21 thunderbird-68.5.0/dom/fetch/FetchStreamReader.h | 2 thunderbird-68.5.0/dom/indexedDB/ActorsChild.cpp | 5 thunderbird-68.5.0/dom/media/gmp/GMPParent.cpp | 11 thunderbird-68.5.0/dom/media/hls/HLSDemuxer.cpp | 76 thunderbird-68.5.0/dom/media/systemservices/video_engine/browser_capture_impl.h | 6 thunderbird-68.5.0/dom/media/systemservices/video_engine/desktop_capture_impl.cc | 66 thunderbird-68.5.0/dom/media/test/test_mediarecorder_playback_can_repeat.html | 114 thunderbird-68.5.0/dom/script/ScriptLoader.cpp | 7 thunderbird-68.5.0/gfx/2d/DrawTargetD2D1.cpp | 20 thunderbird-68.5.0/gfx/layers/composite/TextureHost.cpp | 8 thunderbird-68.5.0/ipc/glue/CrashReporterMetadataShmem.cpp | 4 thunderbird-68.5.0/js/src/frontend/BytecodeCompiler.cpp | 3 thunderbird-68.5.0/js/src/frontend/Parser.cpp | 38 thunderbird-68.5.0/js/src/frontend/Parser.h | 3 thunderbird-68.5.0/js/src/frontend/TokenStream.cpp | 6 thunderbird-68.5.0/js/src/frontend/TokenStream.h | 57 thunderbird-68.5.0/js/src/jit/MIR.h | 2 thunderbird-68.5.0/layout/reftests/svg/mask-opacity-02-ref.svg | 5 thunderbird-68.5.0/layout/reftests/svg/mask-opacity-02.svg | 20 thunderbird-68.5.0/layout/reftests/svg/mask-opacity-03.svg | 20 thunderbird-68.5.0/layout/reftests/svg/mask-opacity-04.svg | 20 thunderbird-68.5.0/layout/reftests/svg/mask-opacity-05.svg | 20 thunderbird-68.5.0/layout/reftests/svg/reftest.list | 4 thunderbird-68.5.0/layout/style/contenteditable.css | 8 thunderbird-68.5.0/media/webrtc/signaling/src/media-conduit/AudioConduit.cpp | 5 thunderbird-68.5.0/media/webrtc/trunk/webrtc/modules/video_capture/android/video_capture_android.cc | 2 thunderbird-68.5.0/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc | 20 thunderbird-68.5.0/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.h | 6 thunderbird-68.5.0/media/webrtc/trunk/webrtc/modules/video_capture/objc/video_capture.mm | 2 thunderbird-68.5.0/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.h | 6 thunderbird-68.5.0/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_defines.h | 5 thunderbird-68.5.0/media/webrtc/trunk/webrtc/modules/video_capture/windows/device_info_ds.cc | 60 thunderbird-68.5.0/media/webrtc/trunk/webrtc/modules/video_capture/windows/video_capture_ds.cc | 2 thunderbird-68.5.0/mobile/android/app/findbugs-exclude.xml | 6 thunderbird-68.5.0/mobile/android/app/src/main/res/drawable/as_banner_background_rounded.xml | 11 thunderbird-68.5.0/mobile/android/app/src/main/res/drawable/as_signin_background_round.xml | 11 thunderbird-68.5.0/mobile/android/app/src/main/res/layout/activity_stream_fxa_banner.xml | 95 thunderbird-68.5.0/mobile/android/app/src/main/res/layout/activity_stream_promo_banner.xml | 87 thunderbird-68.5.0/mobile/android/app/src/main/res/layout/activity_stream_signin.xml | 93 thunderbird-68.5.0/mobile/android/app/src/main/res/values/bool.xml | 3 thunderbird-68.5.0/mobile/android/app/src/main/res/values/dimens.xml | 34 thunderbird-68.5.0/mobile/android/base/AndroidManifest.xml.in | 12 thunderbird-68.5.0/mobile/android/base/AppConstants.java.in | 7 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/AccountsHelper.java | 4 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/LauncherActivity.java | 4 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/Telemetry.java | 9 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/ActivityStreamHomeFragment.java | 3 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/ActivityStreamPanel.java | 3 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/StreamRecyclerAdapter.java | 57 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/stream/FirefoxPromoBannerRow.java | 52 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/stream/FxaBannerRow.java | 80 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/stream/SignInRow.java | 80 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/deeplink/DeepLinkContract.java | 5 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/home/CombinedHistoryPanel.java | 21 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/mma/MmaDelegate.java | 72 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/switchboard/SwitchBoard.java | 12 thunderbird-68.5.0/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryCorePingBuilder.java | 11 thunderbird-68.5.0/mobile/android/base/locales/en-US/android_strings.dtd | 7 thunderbird-68.5.0/mobile/android/base/strings.xml.in | 4 thunderbird-68.5.0/mobile/android/config/version-files/beta/version.txt | 2 thunderbird-68.5.0/mobile/android/config/version-files/beta/version_display.txt | 2 thunderbird-68.5.0/mobile/android/config/version-files/nightly/version.txt | 2 thunderbird-68.5.0/mobile/android/config/version-files/nightly/version_display.txt | 2 thunderbird-68.5.0/mobile/android/config/version-files/release/version.txt | 2 thunderbird-68.5.0/mobile/android/config/version-files/release/version_display.txt | 2 thunderbird-68.5.0/mobile/android/docs/mma.rst | 8 thunderbird-68.5.0/mobile/android/docs/uitelemetry.rst | 6 thunderbird-68.5.0/mobile/android/extensions/webcompat/about-compat/aboutCompat.css | 8 thunderbird-68.5.0/mobile/android/extensions/webcompat/data/injections.js | 139 thunderbird-68.5.0/mobile/android/extensions/webcompat/data/picture_in_picture_overrides.js | 36 thunderbird-68.5.0/mobile/android/extensions/webcompat/data/ua_overrides.js | 164 thunderbird-68.5.0/mobile/android/extensions/webcompat/experiment-apis/pictureInPicture.js | 75 thunderbird-68.5.0/mobile/android/extensions/webcompat/experiment-apis/pictureInPicture.json | 39 thunderbird-68.5.0/mobile/android/extensions/webcompat/experiment-apis/systemManufacturer.js | 27 thunderbird-68.5.0/mobile/android/extensions/webcompat/experiment-apis/systemManufacturer.json | 20 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/css/bug1305028-gaming.youtube.com-webkit-scrollbar.css | 14 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/css/bug1432935-breitbart.com-webkit-scrollbar.css | 13 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/css/bug1605611-maps.google.com-directions-time.css | 24 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/css/bug1609991-cracked.com-flex-basis-fix.css | 12 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/css/bug1610016-gaana.com-input-position-fix.css | 13 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/js/bug1472081-election.gov.np-window.sidebar-shim.js | 25 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/js/bug1482066-portalminasnet.com-window.sidebar-shim.js | 25 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/js/bug1577245-salesforce-communities-hide-unsupported.js | 7 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/js/bug1605611-maps.google.com-directions-time.js | 82 thunderbird-68.5.0/mobile/android/extensions/webcompat/injections/js/bug1610358-pcloud.com-appVersion-change.js | 25 thunderbird-68.5.0/mobile/android/extensions/webcompat/lib/google.js | 4 thunderbird-68.5.0/mobile/android/extensions/webcompat/lib/picture_in_picture_overrides.js | 17 thunderbird-68.5.0/mobile/android/extensions/webcompat/manifest.json | 34 thunderbird-68.5.0/mobile/android/extensions/webcompat/moz.build | 21 thunderbird-68.5.0/mobile/android/extensions/webcompat/run.js | 5 thunderbird-68.5.0/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java | 10 thunderbird-68.5.0/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/SessionAccessibility.java | 14 thunderbird-68.5.0/mobile/android/geckoview_example/src/main/java/org/mozilla/geckoview_example/GeckoViewActivity.java | 5 thunderbird-68.5.0/mobile/android/moz.configure | 7 thunderbird-68.5.0/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/mainthread/LocalPreferenceReceiver.java | 34 thunderbird-68.5.0/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/mainthread/SystemReceiver.java | 14 thunderbird-68.5.0/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/stumblerthread/StumblerService.java | 45 thunderbird-68.5.0/mobile/locales/l10n-changesets.json | 182 thunderbird-68.5.0/netwerk/base/ProxyAutoConfig.cpp | 3 thunderbird-68.5.0/netwerk/dns/effective_tld_names.dat | 35 thunderbird-68.5.0/netwerk/protocol/http/nsCORSListenerProxy.cpp | 10 thunderbird-68.5.0/netwerk/protocol/http/nsHttpHandler.cpp | 10 thunderbird-68.5.0/netwerk/protocol/http/nsHttpHandler.h | 1 thunderbird-68.5.0/netwerk/test/browser/browser_test_io_activity.js | 2 thunderbird-68.5.0/parser/html/javasrc/TreeBuilder.java | 4 thunderbird-68.5.0/parser/html/nsHtml5TreeBuilder.cpp | 4 thunderbird-68.5.0/security/manager/ssl/SecretDecoderRing.cpp | 120 thunderbird-68.5.0/security/manager/ssl/StaticHPKPins.h | 2 thunderbird-68.5.0/security/manager/ssl/nsNSSCertificateDB.cpp | 6 thunderbird-68.5.0/security/manager/ssl/nsSTSPreloadList.inc | 4822 ++++++---- thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/code-ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/ee-from-expired-ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/ee-from-untrusted-ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/email-ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/has-cn.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/has-empty-subject.pem | 14 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/has-non-empty-subject.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/has-o.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/has-ou.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/invalid.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/longOID.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/md5-ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/revoked.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/ssl-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/unknown-issuer.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/mochitest/browser/untrusted-ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/badSubjectAltNames.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/beforeEpochIssuer.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/ca-used-as-end-entity.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/default-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/ee-from-missing-intermediate.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/ee-imminently-distrusted.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/eeIssuedByNonCA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/eeIssuedByV1Cert.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/emptyIssuerName.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/emptyNameCA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/ev-test-intermediate.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/ev-test.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/expiredissuer.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/idn-certificate.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/inadequateKeySizeEE.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/inadequatekeyusage-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/ipAddressAsDNSNameInSAN.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/md5signature.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/mismatch-untrusted.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/mismatch.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/mismatchCN.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/mitm.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/noValidNames.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/notYetValidIssuer.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/nsCertTypeCritical.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/nsCertTypeCriticalWithExtKeyUsage.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/nsCertTypeNotCritical.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/other-issuer-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/self-signed-EE-with-cA-true.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/selfsigned-inadequateEKU.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/selfsigned.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/test-ca.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/unknownissuer.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/untrustedissuer.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/bad_certs/v1Cert.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/ca-used-as-end-entity.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/default-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/delegatedSHA1Signer.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/delegatedSigner.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/invalidDelegatedSignerFromIntermediate.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/invalidDelegatedSignerKeyUsageCrlSigning.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/invalidDelegatedSignerNoExtKeyUsage.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/invalidDelegatedSignerWrongExtKeyUsage.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/multi-tls-feature-bad-ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/multi-tls-feature-good-ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/must-staple-ee-with-must-staple-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/must-staple-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/must-staple-missing-ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/ocspEEWithIntermediate.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/ocspOtherEndEntity.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/rsa-1016-keysizeDelegatedSigner.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/test-ca.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/test-multi-tls-feature-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/ocsp_certs/test-must-staple-int.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/pycert.py | 2 thunderbird-68.5.0/security/manager/ssl/tests/unit/pykey.py | 2 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_certDB_import/emailEE.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_certDB_import/importedCA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_chains.js | 22 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-CA.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-SA-CA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-SA-OCSP.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-SA-nsSGC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-SA.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-int-CA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-int-SA-CA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-int-SA-OCSP.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-int-SA-nsSGC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-int-SA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/ee-nsSGC.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/int-CA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/int-SA-CA.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/int-SA-OCSP.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/int-SA-nsSGC.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_eku/int-SA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_embedded_null/ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_embedded_null/embeddedNull.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_embedded_null/embeddedNullCNAndSAN.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_embedded_null/embeddedNullSAN.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_embedded_null/embeddedNullSAN2.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ca-all-usages.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ca-missing-keyCertSign.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ca-no-keyUsage-extension.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyCertSign-and-keyEncipherment-ca-all-usages.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyCertSign-and-keyEncipherment-ca-missing-keyCertSign.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyCertSign-and-keyEncipherment-ca-no-keyUsage-extension.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyCertSign-only-ca-all-usages.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyCertSign-only-ca-missing-keyCertSign.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyCertSign-only-ca-no-keyUsage-extension.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyEncipherment-only-ca-all-usages.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyEncipherment-only-ca-missing-keyCertSign.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-keyEncipherment-only-ca-no-keyUsage-extension.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-no-keyUsage-extension-ca-all-usages.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-no-keyUsage-extension-ca-missing-keyCertSign.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_keyUsage/ee-no-keyUsage-extension-ca-no-keyUsage-extension.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_signatures/ca-rsa.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_signatures/ca-secp384r1.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_signatures/ee-rsa-direct.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_signatures/ee-rsa.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_signatures/ee-secp384r1-direct.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_signatures/ee-secp384r1.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_signatures/int-rsa.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_signatures/int-secp384r1.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_trust/ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_trust/ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_trust/int.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_utf8/certificateToAlter.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v1-BC-cA_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v1-BC-not-cA_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v1-noBC_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v2-BC-cA_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v2-BC-not-cA_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v2-noBC_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v3-BC-cA_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v3-BC-not-cA_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v3-noBC_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v4-BC-cA_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v4-BC-not-cA_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee-v4-noBC_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v1-BC-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v1-BC-not-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v1-noBC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v2-BC-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v2-BC-not-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v2-noBC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v3-BC-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v3-BC-not-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v3-noBC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v4-BC-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v4-BC-not-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ee_int-v4-noBC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v1-BC-cA_ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v1-BC-not-cA_ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v1-noBC_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v2-BC-cA_ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v2-BC-not-cA_ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v2-noBC_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v3-BC-cA_ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v3-BC-not-cA_ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v3-noBC_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v4-BC-cA_ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v4-BC-not-cA_ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/int-v4-noBC_ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v1-BC-cA.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v1-BC-not-cA.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v1-noBC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v2-BC-cA.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v2-BC-not-cA.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v2-noBC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v3-BC-cA.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v3-BC-not-cA.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v3-noBC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v4-BC-cA.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v4-BC-not-cA.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_cert_version/ss-v4-noBC.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_content_signing/content_signing_int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_content_signing/content_signing_onecrl_RSA_ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_content_signing/content_signing_onecrl_ee.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_content_signing/content_signing_onecrl_no_SAN_ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_content_signing/content_signing_onecrl_wrong_key_ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_content_signing/content_signing_remote_newtab_ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_content_signing/content_signing_root.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ct/ct-insufficient-scts.example.com.pem | 34 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ct/ct-valid.example.com.pem | 46 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ct/default-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ct/test-ca.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/anyPolicy-ee-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/anyPolicy-ee-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/anyPolicy-int-path-ee.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/anyPolicy-int-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/cabforum-and-test-oid-ee-cabforum-oid-int-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/cabforum-and-test-oid-ee-cabforum-oid-int-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/cabforum-and-test-oid-ee-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/cabforum-and-test-oid-ee-path-int.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/cabforum-oid-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/cabforum-oid-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/no-ocsp-ee-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/no-ocsp-ee-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/no-ocsp-int-path-ee.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/no-ocsp-int-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/non-ev-root-path-ee.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/non-ev-root-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/non-evroot-ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/reverse-order-oids-path-ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/reverse-order-oids-path-int.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/test-and-cabforum-oid-ee-cabforum-oid-int-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/test-and-cabforum-oid-ee-cabforum-oid-int-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/test-and-cabforum-oid-ee-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/test-and-cabforum-oid-ee-path-int.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/test-oid-ee-cabforum-oid-int-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/test-oid-ee-cabforum-oid-int-path-int.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/test-oid-path-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ev_certs/test-oid-path-int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-bad-ku-no-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-bad-ku-server-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-cA-FALSE-asserts-keyCertSign.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-limited-depth-invalid.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-limited-depth.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-no-extensions.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-no-ku-no-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-no-ku-server-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-not-a-ca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-valid-ku-no-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/ee-int-valid-ku-server-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-bad-ku-no-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-bad-ku-server-eku.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-cA-FALSE-asserts-keyCertSign.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-limited-depth-invalid.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-limited-depth.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-no-extensions.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-no-ku-no-eku.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-no-ku-server-eku.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-not-a-ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-valid-ku-no-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_basic_usage_constraints/int-valid-ku-server-eku.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_preloads/ee.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_preloads/ee2.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_preloads/int.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_intermediate_preloads/int2.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_rsa_1016-int_rsa_1024-root_rsa_1024.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_rsa_1024-int_rsa_1016-root_rsa_1024.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_rsa_1024-int_rsa_1024-root_rsa_1016.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_rsa_1024-int_rsa_1024-root_rsa_1024.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp224r1_224-int_secp256r1_256-root_rsa_2048.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp224r1_224-int_secp256r1_256-root_secp256r1_256.pem | 8 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp256k1_256-int_secp256r1_256-root_secp256r1_256.pem | 8 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp256r1_256-int_rsa_1016-root_secp256r1_256.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp256r1_256-int_secp224r1_224-root_secp256r1_256.pem | 8 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp256r1_256-int_secp256r1_256-root_secp224r1_224.pem | 8 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp256r1_256-int_secp256r1_256-root_secp256k1_256.pem | 8 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp384r1_384-int_secp256r1_256-root_rsa_2048.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/ee_secp521r1_521-int_secp384r1_384-root_secp256r1_256.pem | 8 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_rsa_1016-root_rsa_1024.pem | 14 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_rsa_1016-root_secp256r1_256.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_rsa_1024-root_rsa_1016.pem | 14 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_rsa_1024-root_rsa_1024.pem | 14 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_secp224r1_224-root_secp256r1_256.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_secp256r1_256-root_rsa_2048.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_secp256r1_256-root_secp224r1_224.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_secp256r1_256-root_secp256k1_256.pem | 8 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_secp256r1_256-root_secp256r1_256.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/int_secp384r1_384-root_secp256r1_256.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/root_rsa_1016.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/root_rsa_1024.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/root_rsa_2048.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/root_secp224r1_224.pem | 8 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/root_secp256k1_256.pem | 12 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize/root_secp256r1_256.pem | 10 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize_ev/ev_ee_rsa_2040-ev_int_rsa_2048-evroot.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize_ev/ev_ee_rsa_2048-ev_int_rsa_2040-evroot.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize_ev/ev_ee_rsa_2048-ev_int_rsa_2048-ev_root_rsa_2040.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize_ev/ev_ee_rsa_2048-ev_int_rsa_2048-evroot.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize_ev/ev_int_rsa_2040-evroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize_ev/ev_int_rsa_2048-ev_root_rsa_2040.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_keysize_ev/ev_int_rsa_2048-evroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_missing_intermediate/missing-intermediate.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/NameConstraints.dcissallowed.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/NameConstraints.dcissblocked.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/ca-example-com-permitted.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/dciss.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/ee-example-com-and-org.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/ee-example-com.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/ee-example-org.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/ee-example-test.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_name_constraints/int-example-org-permitted.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/bad-scheme.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/ca.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/empty-scheme-url.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/ftp-url.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/hTTp-url.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/https-url.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/int.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/negative-port.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/no-host-url.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/no-path-url.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/no-scheme-host-port.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/no-scheme-url.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/unknown-scheme.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_ocsp_url/user-pass.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_onecrl/another-ee-revoked-by-revocations-txt-serial-2.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_onecrl/another-ee-revoked-by-revocations-txt.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_onecrl/ee-revoked-by-revocations-txt.pem | 16 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_onecrl/ee-revoked-by-subject-and-pubkey.pem | 22 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_onecrl/same-issuer-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_onecrl/test-int-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/a.pinning2.example.com-badca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/a.pinning2.example.com-pinningroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/a.preload.example.com-badca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/a.preload.example.com-pinningroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/b.pinning2.example.com-badca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/b.pinning2.example.com-pinningroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/b.preload.example.com-badca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/b.preload.example.com-pinningroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/badca.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/pinningroot.pem | 20 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/x.a.pinning2.example.com-badca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/x.a.pinning2.example.com-pinningroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/x.b.pinning2.example.com-badca.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_pinning_dynamic/x.b.pinning2.example.com-pinningroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_symantec_apple_google/default-ee.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_validity/ev_ee_27_months-ev_int_60_months-evroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_validity/ev_ee_28_months-ev_int_60_months-evroot.pem | 18 thunderbird-68.5.0/security/manager/ssl/tests/unit/test_validity/ev_int_60_months-evroot.pem | 16 thunderbird-68.5.0/services/settings/dumps/blocklists/addons.json | 2 thunderbird-68.5.0/services/settings/dumps/blocklists/plugins.json | 2 thunderbird-68.5.0/services/settings/dumps/security-state/intermediates.json | 2 thunderbird-68.5.0/services/settings/dumps/security-state/onecrl.json | 2 thunderbird-68.5.0/sourcestamp.txt | 6 thunderbird-68.5.0/storage/TelemetryVFS.cpp | 39 thunderbird-68.5.0/taskcluster/ci/build/android.yml | 10 thunderbird-68.5.0/taskcluster/ci/maybe-release/kind.yml | 41 thunderbird-68.5.0/taskcluster/docs/kinds.rst | 9 thunderbird-68.5.0/taskcluster/taskgraph/target_tasks.py | 12 thunderbird-68.5.0/taskcluster/taskgraph/transforms/maybe_release.py | 21 thunderbird-68.5.0/taskcluster/taskgraph/transforms/release_mark_as_shipped.py | 3 thunderbird-68.5.0/taskcluster/taskgraph/transforms/task.py | 24 thunderbird-68.5.0/testing/marionette/driver.js | 3 thunderbird-68.5.0/testing/web-platform/meta/IndexedDB/idb-explicit-commit.any.js.ini | 153 thunderbird-68.5.0/thunderbird-l10n/ar/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ast/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/be/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/bg/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/br/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ca/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/cak/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/cs/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/cy/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/da/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/de/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/dsb/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/el/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/en-GB/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/es-AR/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/es-ES/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/et/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/eu/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/fi/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/fr/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/fy-NL/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ga-IE/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/gd/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/gl/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/he/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/hr/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/hsb/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/hu/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/hy-AM/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/id/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/is/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/it/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ja/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ka/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/kab/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/kk/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ko/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/lt/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ms/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/nb-NO/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/nl/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/nn-NO/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/pl/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/pt-BR/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/pt-PT/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/rm/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ro/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/ru/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/si/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/sk/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/sl/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/sq/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/sr/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/sv-SE/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/tr/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/uk/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/uz/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/vi/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/zh-CN/manifest.json | 2 thunderbird-68.5.0/thunderbird-l10n/zh-TW/manifest.json | 2 thunderbird-68.5.0/toolkit/components/enterprisepolicies/EnterprisePolicies.js | 4 thunderbird-68.5.0/toolkit/components/telemetry/Scalars.yaml | 17 thunderbird-68.5.0/toolkit/components/telemetry/docs/data/core-ping.rst | 6 thunderbird-68.5.0/toolkit/components/utils/JsonSchemaValidator.jsm | 15 thunderbird-68.5.0/toolkit/components/utils/test/browser/browser_JsonSchemaValidator.js | 48 thunderbird-68.5.0/toolkit/content/gmp-sources/widevinecdm.json | 37 thunderbird-68.5.0/toolkit/modules/AppConstants.jsm | 7 thunderbird-68.5.0/toolkit/mozapps/installer/packager.mk | 4 thunderbird-68.5.0/uriloader/exthandler/win/nsMIMEInfoWin.cpp | 12 thunderbird-68.5.0/uriloader/exthandler/win/nsMIMEInfoWin.h | 3 thunderbird-68.5.0/widget/nsBaseDragService.cpp | 6 thunderbird-68.5.0/widget/nsBaseDragService.h | 3 thunderbird-68.5.0/xpcom/io/nsLocalFileUnix.cpp | 5 thunderbird-68.5.0/xpcom/io/nsLocalFileWin.cpp | 46 677 files changed, 10404 insertions(+), 6504 deletions(-) diff -Nru thunderbird-68.4.1/.cron.yml thunderbird-68.5.0/.cron.yml --- thunderbird-68.4.1/.cron.yml 2020-01-09 03:28:20.000000000 +0000 +++ thunderbird-68.5.0/.cron.yml 2020-02-10 08:43:18.000000000 +0000 @@ -5,6 +5,19 @@ --- jobs: + - name: daily-releases + job: + type: decision-task + treeherder-symbol: RPd + target-tasks-method: daily_releases + run-on-projects: + - mozilla-esr68 + when: + by-project: + # No default branch + mozilla-esr68: + - {weekday: 'Monday', hour: 4, minute: 0} + - name: nightly-desktop job: type: decision-task @@ -69,22 +82,6 @@ - mozilla-central when: [] # never (hook only) - - name: nightly-android - job: - type: decision-task - treeherder-symbol: Na - target-tasks-method: nightly_fennec - include-push-tasks: true - android-release-type: nightly - run-on-projects: - - mozilla-esr68 - when: - by-project: - # Fennec Nightly builds ship from ESR68 - # Other branches ship only GeckoView - mozilla-esr68: [{hour: 10, minute: 0}] - # No default - - name: ship-geckoview job: type: decision-task diff -Nru thunderbird-68.4.1/accessible/tests/mochitest/events/docload/test_docload_root.html thunderbird-68.5.0/accessible/tests/mochitest/events/docload/test_docload_root.html --- thunderbird-68.4.1/accessible/tests/mochitest/events/docload/test_docload_root.html 2020-01-09 03:28:20.000000000 +0000 +++ thunderbird-68.5.0/accessible/tests/mochitest/events/docload/test_docload_root.html 2020-02-10 08:43:18.000000000 +0000 @@ -36,7 +36,12 @@ } } - this.eventSeq = [ new invokerChecker(EVENT_REORDER, gRootAcc) ]; + this.eventSeq = [ + new invokerChecker(EVENT_REORDER, gRootAcc), + // We use a function here to get the target because gDialog isn't set + // yet, but it will be when the function is called. + new invokerChecker(EVENT_FOCUS, () => gDialog.document) + ]; this.invoke = () => (gDialog = window.openDialog(aURL)); diff -Nru thunderbird-68.4.1/browser/app/blocklist.xml thunderbird-68.5.0/browser/app/blocklist.xml --- thunderbird-68.4.1/browser/app/blocklist.xml 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/app/blocklist.xml 2020-02-10 08:43:18.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -3440,6 +3440,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3475,12 +3651,12 @@ https://get.adobe.com/flashplayer/ - + https://get.adobe.com/flashplayer/ - + diff -Nru thunderbird-68.4.1/browser/base/content/browser-addons.js thunderbird-68.5.0/browser/base/content/browser-addons.js --- thunderbird-68.4.1/browser/base/content/browser-addons.js 2020-01-09 03:28:20.000000000 +0000 +++ thunderbird-68.5.0/browser/base/content/browser-addons.js 2020-02-10 08:43:18.000000000 +0000 @@ -524,6 +524,16 @@ [brandShortName] ); + if (Services.policies) { + let extensionSettings = Services.policies.getExtensionSettings("*"); + if ( + extensionSettings && + "blocked_install_message" in extensionSettings + ) { + messageString += " " + extensionSettings.blocked_install_message; + } + } + options.removeOnDismissal = true; options.persistent = false; diff -Nru thunderbird-68.4.1/browser/base/content/browser.js thunderbird-68.5.0/browser/base/content/browser.js --- thunderbird-68.4.1/browser/base/content/browser.js 2020-01-09 03:28:20.000000000 +0000 +++ thunderbird-68.5.0/browser/base/content/browser.js 2020-02-10 08:43:18.000000000 +0000 @@ -2103,6 +2103,10 @@ Services.obs.notifyObservers(window, "browser-delayed-startup-finished"); TelemetryTimestamps.add("delayedStartupFinished"); + + if (!Services.policies.isAllowed("hideShowMenuBar")) { + document.getElementById("toolbar-menubar").removeAttribute("toolbarname"); + } }, _setInitialFocus() { diff -Nru thunderbird-68.4.1/browser/base/content/popup-notifications.inc thunderbird-68.5.0/browser/base/content/popup-notifications.inc --- thunderbird-68.4.1/browser/base/content/popup-notifications.inc 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/base/content/popup-notifications.inc 2020-02-10 08:43:18.000000000 +0000 @@ -117,18 +117,3 @@ - - diff -Nru thunderbird-68.4.1/browser/components/enterprisepolicies/Policies.jsm thunderbird-68.5.0/browser/components/enterprisepolicies/Policies.jsm --- thunderbird-68.4.1/browser/components/enterprisepolicies/Policies.jsm 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/components/enterprisepolicies/Policies.jsm 2020-02-10 08:43:18.000000000 +0000 @@ -262,30 +262,23 @@ log.error(`Unable to add certificate - ${certfile.path}`); } } - let now = Date.now() / 1000; if (cert) { - gCertDB.asyncVerifyCertAtTime( - cert, - 0x0008 /* certificateUsageSSLCA */, - 0, - null, - now, - (aPRErrorCode, aVerifiedChain, aHasEVPolicy) => { - if (aPRErrorCode == Cr.NS_OK) { - // Certificate is already installed. - return; - } - try { - gCertDB.addCert(certFile, "CT,CT,"); - } catch (e) { - // It might be PEM instead of DER. - gCertDB.addCertFromBase64( - pemToBase64(certFile), - "CT,CT," - ); - } - } - ); + if ( + gCertDB.isCertTrusted( + cert, + Ci.nsIX509Cert.CA_CERT, + Ci.nsIX509CertDB.TRUSTED_SSL + ) + ) { + // Certificate is already installed. + return; + } + try { + gCertDB.addCert(certFile, "CT,CT,"); + } catch (e) { + // It might be PEM instead of DER. + gCertDB.addCertFromBase64(pemToBase64(certFile), "CT,CT,"); + } } }; reader.readAsBinaryString(file); @@ -583,18 +576,53 @@ DisplayMenuBar: { onBeforeUIStartup(manager, param) { - let value = (!param).toString(); - // This policy is meant to change the default behavior, not to force it. - // If this policy was alreay applied and the user chose to re-hide the - // menu bar, do not show it again. - runOncePerModification("displayMenuBar", value, () => { + let value; + if ( + typeof param === "boolean" || + param == "default-on" || + param == "default-off" + ) { + switch (param) { + case "default-on": + value = "false"; + break; + case "default-off": + value = "true"; + break; + default: + value = (!param).toString(); + break; + } + // This policy is meant to change the default behavior, not to force it. + // If this policy was already applied and the user chose to re-hide the + // menu bar, do not show it again. + runOncePerModification("displayMenuBar", value, () => { + gXulStore.setValue( + BROWSER_DOCUMENT_URL, + "toolbar-menubar", + "autohide", + value + ); + }); + } else { + switch (param) { + case "always": + value = "false"; + break; + case "never": + // Make sure Alt key doesn't show the menubar + setAndLockPref("ui.key.menuAccessKeyFocuses", false); + value = "true"; + break; + } gXulStore.setValue( BROWSER_DOCUMENT_URL, "toolbar-menubar", "autohide", value ); - }); + manager.disallowFeature("hideShowMenuBar"); + } }, }, @@ -658,6 +686,9 @@ param.Locked ); } + if ("Exceptions" in param) { + addAllowDenyPermissions("trackingprotection", param.Exceptions); + } }, }, diff -Nru thunderbird-68.4.1/browser/components/enterprisepolicies/schemas/policies-schema.json thunderbird-68.5.0/browser/components/enterprisepolicies/schemas/policies-schema.json --- thunderbird-68.4.1/browser/components/enterprisepolicies/schemas/policies-schema.json 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/components/enterprisepolicies/schemas/policies-schema.json 2020-02-10 08:43:18.000000000 +0000 @@ -277,7 +277,8 @@ }, "DisplayMenuBar": { - "type": "boolean" + "type": ["boolean", "string"], + "enum": ["always", "never", "default-on", "default-off"] }, "DNSOverHTTPS": { @@ -329,6 +330,13 @@ }, "Fingerprinting": { "type": "boolean" + }, + "Exceptions": { + "type": "array", + "strict": false, + "items": { + "type": "origin" + } } } }, @@ -837,6 +845,12 @@ }, "widget.content.gtk-theme-override": { "type": "string" + }, + "dom.xmldocument.load.enabled": { + "type": "boolean" + }, + "dom.xmldocument.async.enabled": { + "type": "boolean" } } }, diff -Nru thunderbird-68.4.1/browser/components/enterprisepolicies/tests/browser/browser_policy_display_menu.js thunderbird-68.5.0/browser/components/enterprisepolicies/tests/browser/browser_policy_display_menu.js --- thunderbird-68.4.1/browser/components/enterprisepolicies/tests/browser/browser_policy_display_menu.js 2020-01-09 03:28:20.000000000 +0000 +++ thunderbird-68.5.0/browser/components/enterprisepolicies/tests/browser/browser_policy_display_menu.js 2020-02-10 08:43:18.000000000 +0000 @@ -3,24 +3,82 @@ "use strict"; -add_task(async function setup() { +add_task(async function test_menu_shown_boolean() { await setupPolicyEngineWithJson({ policies: { DisplayMenuBar: true, }, }); + + // Since testing will apply the policy after the browser has already started, + // we will need to open a new window to actually see the menu bar + let newWin = await BrowserTestUtils.openNewBrowserWindow(); + let menubar = newWin.document.getElementById("toolbar-menubar"); + is( + menubar.getAttribute("autohide"), + "false", + "The menu bar should not be hidden" + ); + + await BrowserTestUtils.closeWindow(newWin); }); -add_task(async function test_menu_shown() { +add_task(async function test_menu_shown_string() { + await setupPolicyEngineWithJson({ + policies: { + DisplayMenuBar: "default-on", + }, + }); + // Since testing will apply the policy after the browser has already started, // we will need to open a new window to actually see the menu bar let newWin = await BrowserTestUtils.openNewBrowserWindow(); - let menuBar = newWin.document.getElementById("toolbar-menubar"); + let menubar = newWin.document.getElementById("toolbar-menubar"); is( - menuBar.getAttribute("autohide"), + menubar.getAttribute("autohide"), "false", "The menu bar should not be hidden" ); await BrowserTestUtils.closeWindow(newWin); }); + +add_task(async function test_menubar_on() { + await setupPolicyEngineWithJson({ + policies: { + DisplayMenuBar: "always", + }, + }); + + let newWin = await BrowserTestUtils.openNewBrowserWindow(); + let menubar = newWin.document.getElementById("toolbar-menubar"); + is( + menubar.hasAttribute("inactive"), + false, + "Menu bar should not have inactive" + ); + is( + menubar.hasAttribute("toolbarname"), + false, + "Menu bar should not have a toolbarname" + ); + await BrowserTestUtils.closeWindow(newWin); +}); + +add_task(async function test_menubar_off() { + await setupPolicyEngineWithJson({ + policies: { + DisplayMenuBar: "never", + }, + }); + + let newWin = await BrowserTestUtils.openNewBrowserWindow(); + let menubar = newWin.document.getElementById("toolbar-menubar"); + is(menubar.hasAttribute("inactive"), true, "Menu bar should have inactive"); + is( + menubar.hasAttribute("toolbarname"), + false, + "Menu bar should not have a toolbarname" + ); + await BrowserTestUtils.closeWindow(newWin); +}); diff -Nru thunderbird-68.4.1/browser/components/enterprisepolicies/tests/browser/browser_policy_extensionsettings.js thunderbird-68.5.0/browser/components/enterprisepolicies/tests/browser/browser_policy_extensionsettings.js --- thunderbird-68.4.1/browser/components/enterprisepolicies/tests/browser/browser_policy_extensionsettings.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/components/enterprisepolicies/tests/browser/browser_policy_extensionsettings.js 2020-02-10 08:43:18.000000000 +0000 @@ -65,6 +65,7 @@ ExtensionSettings: { "*": { install_sources: ["http://blocks.other.install.sources/*"], + blocked_install_message: "blocked_install_message", }, }, }, @@ -81,7 +82,12 @@ await ContentTask.spawn(tab.linkedBrowser, {}, () => { content.document.getElementById("policytest_installtrigger").click(); }); - await popupPromise; + let popup = await popupPromise; + let description = popup.querySelector(".popup-notification-description"); + ok( + description.textContent.endsWith("blocked_install_message"), + "Custom install message present" + ); BrowserTestUtils.removeTab(tab); }); diff -Nru thunderbird-68.4.1/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js thunderbird-68.5.0/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js --- thunderbird-68.4.1/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/components/enterprisepolicies/tests/xpcshell/test_permissions.js 2020-02-10 08:43:18.000000000 +0000 @@ -210,3 +210,22 @@ Ci.nsIPermissionManager.EXPIRE_SESSION ); }); + +add_task(async function test_setup_trackingprotection() { + await setupPolicyEngineWithJson({ + policies: { + EnableTrackingProtection: { + Exceptions: ["https://www.allow.com"], + }, + }, + }); + equal( + Services.policies.status, + Ci.nsIEnterprisePolicies.ACTIVE, + "Engine is active" + ); +}); + +add_task(async function test_trackingprotection() { + checkPermission("allow.com", "ALLOW", "trackingprotection"); +}); diff -Nru thunderbird-68.4.1/browser/components/extensions/test/browser/browser_ext_pageAction_context.js thunderbird-68.5.0/browser/components/extensions/test/browser/browser_ext_pageAction_context.js --- thunderbird-68.4.1/browser/components/extensions/test/browser/browser_ext_pageAction_context.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/components/extensions/test/browser/browser_ext_pageAction_context.js 2020-02-10 08:43:18.000000000 +0000 @@ -225,6 +225,11 @@ }); add_task(async function testMultipleWindows() { + // Disable newtab preloading, so that the tabs.create call below will always + // trigger a new load that can be detected by webNavigation.onCompleted. + await SpecialPowers.pushPrefEnv({ + set: [["browser.newtab.preload", false]], + }); await runTests({ manifest: { page_action: { @@ -232,6 +237,7 @@ default_popup: "default.html", default_title: "Default Title", }, + permissions: ["webNavigation"], }, files: { @@ -253,10 +259,28 @@ }, ]; + function promiseWebNavigationCompleted(url) { + return new Promise(resolve => { + // The pageAction visibility state is reset when the location changes. + // The webNavigation.onCompleted event is triggered when that happens. + browser.webNavigation.onCompleted.addListener( + function listener() { + browser.webNavigation.onCompleted.removeListener(listener); + resolve(); + }, + { + url: [{ urlEquals: url }], + } + ); + }); + } + return [ async expect => { browser.test.log("Create a new tab, expect hidden pageAction."); + let promise = promiseWebNavigationCompleted("about:newtab"); let tab = await browser.tabs.create({ active: true }); + await promise; tabs.push(tab.id); expect(null); }, @@ -313,6 +337,7 @@ ]; }, }); + await SpecialPowers.popPrefEnv(); }); add_task(async function testNavigationClearsData() { diff -Nru thunderbird-68.4.1/browser/components/newtab/test/browser/browser_asrouter_targeting.js thunderbird-68.5.0/browser/components/newtab/test/browser/browser_asrouter_targeting.js --- thunderbird-68.4.1/browser/components/newtab/test/browser/browser_asrouter_targeting.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/components/newtab/test/browser/browser_asrouter_targeting.js 2020-02-10 08:43:18.000000000 +0000 @@ -362,6 +362,12 @@ }); add_task(async function check_pinned_sites() { + // Fresh profiles come with an empty set of pinned websites (pref doesn't + // exist). Search shortcut topsites make this test more complicated because + // the feature pins a new website on startup. Behaviour can vary when running + // with --verify so it's more predictable to clear pins entirely. + Services.prefs.clearUserPref("browser.newtabpage.pinned"); + NewTabUtils.pinnedLinks.resetCache(); const originalPin = JSON.stringify(NewTabUtils.pinnedLinks.links); const sitesToPin = [ {url: "https://foo.com"}, @@ -393,6 +399,8 @@ sitesToPin.forEach(site => NewTabUtils.pinnedLinks.unpin(site)); await clearHistoryAndBookmarks(); + Services.prefs.clearUserPref("browser.newtabpage.pinned"); + NewTabUtils.pinnedLinks.resetCache(); is(JSON.stringify(NewTabUtils.pinnedLinks.links), originalPin, "should restore pinned sites to its original state"); }); diff -Nru thunderbird-68.4.1/browser/config/mozconfigs/linux64/source thunderbird-68.5.0/browser/config/mozconfigs/linux64/source --- thunderbird-68.4.1/browser/config/mozconfigs/linux64/source 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/config/mozconfigs/linux64/source 2020-02-10 08:43:18.000000000 +0000 @@ -3,3 +3,4 @@ # extra dependencies on specific toolchains, e.g. gtk3. ac_add_options --disable-compile-environment ac_add_options --disable-nodejs +export MOZILLA_OFFICIAL=1 diff -Nru thunderbird-68.4.1/browser/config/version.txt thunderbird-68.5.0/browser/config/version.txt --- thunderbird-68.4.1/browser/config/version.txt 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/config/version.txt 2020-02-10 08:43:18.000000000 +0000 @@ -1 +1 @@ -68.4.1 +68.5.0 diff -Nru thunderbird-68.4.1/browser/config/version_display.txt thunderbird-68.5.0/browser/config/version_display.txt --- thunderbird-68.4.1/browser/config/version_display.txt 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/config/version_display.txt 2020-02-10 08:43:18.000000000 +0000 @@ -1 +1 @@ -68.4.1esr +68.5.0esr diff -Nru thunderbird-68.4.1/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm thunderbird-68.5.0/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm --- thunderbird-68.4.1/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm 2020-02-10 08:43:18.000000000 +0000 @@ -390,7 +390,7 @@ data.message, "pdfjs-fallback", null, - notificationBox.PRIORITY_INFO_LOW, + notificationBox.PRIORITY_WARNING_LOW, buttons, function eventsCallback(eventType) { // Currently there is only one event "removed" but if there are any other diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/about-compat/aboutCompat.css thunderbird-68.5.0/browser/extensions/webcompat/about-compat/aboutCompat.css --- thunderbird-68.4.1/browser/extensions/webcompat/about-compat/aboutCompat.css 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/about-compat/aboutCompat.css 2020-02-10 08:43:18.000000000 +0000 @@ -1,3 +1,7 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + @media (any-pointer: fine) { :root { font-family: sans-serif; @@ -11,10 +15,6 @@ padding-bottom: 2em; } - .float-right { - float: right; - } - .hidden { display: none; } diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/data/injections.js thunderbird-68.5.0/browser/extensions/webcompat/data/injections.js --- thunderbird-68.4.1/browser/extensions/webcompat/data/injections.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/data/injections.js 2020-02-10 08:43:18.000000000 +0000 @@ -4,7 +4,12 @@ "use strict"; -/* globals module */ +/* globals module, require */ + +// This is a hack for the tests. +if (typeof getMatchPatternsForGoogleURL === "undefined") { + var getMatchPatternsForGoogleURL = require("../lib/google"); +} /** * For detailed information on our policies, and a documention on this format @@ -77,38 +82,6 @@ }, }, { - id: "bug1472081", - platform: "desktop", - domain: "election.gov.np", - bug: "1472081", - contentScripts: { - matches: ["http://202.166.205.141/bbvrs/*"], - allFrames: true, - js: [ - { - file: - "injections/js/bug1472081-election.gov.np-window.sidebar-shim.js", - }, - ], - }, - }, - { - id: "bug1482066", - platform: "desktop", - domain: "portalminasnet.com", - bug: "1482066", - contentScripts: { - matches: ["*://portalminasnet.com/*"], - allFrames: true, - js: [ - { - file: - "injections/js/bug1482066-portalminasnet.com-window.sidebar-shim.js", - }, - ], - }, - }, - { id: "bug1570856", platform: "android", domain: "medium.com", @@ -141,17 +114,21 @@ { id: "bug1577245", platform: "android", - domain: "help.pandora.com", + domain: "Salesforce communities", bug: "1577245", contentScripts: { matches: [ "https://faq.usps.com/*", "https://help.duo.com/*", - "https://help.hulu.com/*", - "https://help.pandora.com/*", "https://my211.force.com/*", "https://support.paypay.ne.jp/*", "https://usps.force.com/*", + "https://help.twitch.tv/*", + "https://support.sonos.com/*", + "https://us.community.sony.com/*", + "https://help.shopee.ph/*", + "https://exclusions.ustr.gov/*", + "https://help.doordash.com/*", ], js: [ { @@ -219,21 +196,6 @@ customFunc: "noSniffFix", }, { - id: "bug1305028", - platform: "desktop", - domain: "gaming.youtube.com", - bug: "1305028", - contentScripts: { - matches: ["*://gaming.youtube.com/*"], - css: [ - { - file: - "injections/css/bug1305028-gaming.youtube.com-webkit-scrollbar.css", - }, - ], - }, - }, - { id: "bug1432935-discord", platform: "desktop", domain: "discordapp.com", @@ -249,20 +211,6 @@ }, }, { - id: "bug1432935-breitbart", - platform: "desktop", - domain: "breitbart.com", - bug: "1432935", - contentScripts: { - matches: ["*://*.breitbart.com/*"], - css: [ - { - file: "injections/css/bug1432935-breitbart.com-webkit-scrollbar.css", - }, - ], - }, - }, - { id: "bug1561371", platform: "android", domain: "mail.google.com", @@ -434,6 +382,67 @@ }, ], }, + }, + { + id: "bug1605611", + platform: "android", + domain: "maps.google.com", + bug: "1605611", + contentScripts: { + matches: getMatchPatternsForGoogleURL("www.google", "maps*"), + css: [ + { + file: "injections/css/bug1605611-maps.google.com-directions-time.css", + }, + ], + js: [ + { + file: "injections/js/bug1605611-maps.google.com-directions-time.js", + }, + ], + }, + }, + { + id: "bug1609991", + platform: "android", + domain: "www.cracked.com", + bug: "1609991", + contentScripts: { + matches: ["https://www.cracked.com/*"], + css: [ + { + file: "injections/css/bug1609991-cracked.com-flex-basis-fix.css", + }, + ], + }, + }, + { + id: "bug1610016", + platform: "android", + domain: "gaana.com", + bug: "1610016", + contentScripts: { + matches: ["https://gaana.com/*"], + css: [ + { + file: "injections/css/bug1610016-gaana.com-input-position-fix.css", + }, + ], + }, + }, + { + id: "bug1610358", + platform: "android", + domain: "pcloud.com", + bug: "1610358", + contentScripts: { + matches: ["https://www.pcloud.com/*"], + js: [ + { + file: "injections/js/bug1610358-pcloud.com-appVersion-change.js", + }, + ], + }, }, ]; diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/data/picture_in_picture_overrides.js thunderbird-68.5.0/browser/extensions/webcompat/data/picture_in_picture_overrides.js --- thunderbird-68.4.1/browser/extensions/webcompat/data/picture_in_picture_overrides.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/data/picture_in_picture_overrides.js 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,36 @@ +/* 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/. */ + +"use strict"; + +/* globals browser */ + +let AVAILABLE_PIP_OVERRIDES; + +{ + // See PictureInPictureTogglePolicy.jsm for these values. + // eslint-disable-next-line no-unused-vars + const TOGGLE_POLICIES = browser.pictureInPictureChild.getPolicies(); + + AVAILABLE_PIP_OVERRIDES = { + // The keys of this object are match patterns for URLs, as documented in + // https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns + // + // Example: + // + // "https://*.youtube.com/*": TOGGLE_POLICIES.THREE_QUARTERS, + // "https://*.twitch.tv/mikeconley_dot_ca/*": TOGGLE_POLICIES.TOP, + + // Instagram + "https://www.instagram.com/*": TOGGLE_POLICIES.ONE_QUARTER, + + // Twitch + "https://*.twitch.tv/*": TOGGLE_POLICIES.ONE_QUARTER, + "https://*.twitch.tech/*": TOGGLE_POLICIES.ONE_QUARTER, + "https://*.twitch.a2z.com/*": TOGGLE_POLICIES.ONE_QUARTER, + + // Udemy + "https://www.udemy.com/*": TOGGLE_POLICIES.ONE_QUARTER, + }; +} diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/data/ua_overrides.js thunderbird-68.5.0/browser/extensions/webcompat/data/ua_overrides.js --- thunderbird-68.4.1/browser/extensions/webcompat/data/ua_overrides.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/data/ua_overrides.js 2020-02-10 08:43:18.000000000 +0000 @@ -4,7 +4,12 @@ "use strict"; -/* globals getMatchPatternsForGoogleURL, module */ +/* globals browser, module, require */ + +// This is a hack for the tests. +if (typeof getMatchPatternsForGoogleURL === "undefined") { + var getMatchPatternsForGoogleURL = require("../lib/google"); +} /** * For detailed information on our policies, and a documention on this format @@ -169,6 +174,50 @@ }, { /* + * Bug 1610010 - criticalcareontario.ca - UA override for criticalcareontario.ca + * WebCompat issue #40267 - https://webcompat.com/issues/40267 + * + * criticalcareontario.ca enters a reload loop based on UA detection + * Spoofing as Chrome prevents the site from doing a constant page refresh + */ + id: "bug1610010", + platform: "desktop", + domain: "criticalcareontario.ca", + bug: "1610010", + config: { + matches: ["https://www.criticalcareontario.ca/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36" + ); + }, + }, + }, + { + /* + * Bug 1610026 - www.mobilesuica.com - UA override for www.mobilesuica.com + * WebCompat issue #4608 - https://webcompat.com/issues/4608 + * + * mobilesuica.com showing unsupported message for Firefox users + * Spoofing as Chrome allows to access the page + */ + id: "bug1610026", + platform: "all", + domain: "www.mobilesuica.com", + bug: "1610026", + config: { + matches: ["https://www.mobilesuica.com/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36" + ); + }, + }, + }, + { + /* * Bug 1480710 - m.imgur.com - Build UA override * WebCompat issue #13154 - https://webcompat.com/issues/13154 * @@ -351,29 +400,6 @@ }, { /* - * Bug 1509852 - redbull.com - Add UA override for redbull.com - * WebCompat issue #21439 - https://webcompat.com/issues/21439 - * - * Redbull.com blocks some features, for example the live video player, for - * Fennec. Spoofing as Chrome results in us rendering the video just fine, - * and everything else works as well. - */ - id: "bug1509852", - platform: "android", - domain: "redbull.com", - bug: "1509852", - config: { - matches: ["*://*.redbull.com/*"], - uaTransformer: originalUA => { - return ( - UAHelpers.getPrefix(originalUA) + - " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Mobile Safari/537.36" - ); - }, - }, - }, - { - /* * Bug 1509873 - zmags.com - Add UA override for secure.viewer.zmags.com * WebCompat issue #21576 - https://webcompat.com/issues/21576 * @@ -544,20 +570,100 @@ }, }, }, + { + /* + * Bug 1598198 - User Agent extension for Samsung's galaxy.store URLs + * + * Samsung's galaxy.store shortlinks are supposed to redirect to a Samsung + * intent:// URL on Samsung devices, but to an error page on other brands. + * As we do not provide device info in our user agent string, this check + * fails, and even Samsung users land on an error page if they use Firefox + * for Android. + * This intervention adds a simple "Samsung" identifier to the User Agent + * on only the Galaxy Store URLs if the device happens to be a Samsung. + */ + id: "bug1598198", + platform: "android", + domain: "galaxy.store", + bug: "1598198", + config: { + matches: [ + "*://galaxy.store/*", + "*://dev.galaxy.store/*", + "*://stg.galaxy.store/*", + ], + uaTransformer: originalUA => { + if (!browser.systemManufacturer) { + return originalUA; + } + + const manufacturer = browser.systemManufacturer.getManufacturer(); + if (manufacturer && manufacturer.toLowerCase() === "samsung") { + return originalUA.replace("Mobile;", "Mobile; Samsung;"); + } + + return originalUA; + }, + }, + }, + { + /* + * Bug 1610370 - UA override for answers.yahoo.com on Firefox for Android + * WebCompat issue #5460 - https://webcompat.com/issues/5460 + * + * answers.yahoo.com is not showing lazy loaded content based on UA detection + * When spoofing as Chrome it's possible to load the content + */ + id: "bug1610370", + platform: "android", + domain: "answers.yahoo.com", + bug: "1610370", + config: { + matches: ["https://answers.yahoo.com/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Mobile Safari/537.36" + ); + }, + }, + }, + { + /* + * Bug 1595215 - UA overrides for Uniqlo sites + * Webcompat issue #38825 - https://webcompat.com/issues/38825 + * + * To receive the proper mobile version instead of the desktop version or + * avoid redirect loop, the UA is spoofed. + */ + id: "bug1595215", + platform: "android", + domain: "uniqlo.com", + bug: "1595215", + config: { + matches: ["*://*.uniqlo.com/*"], + uaTransformer: originalUA => { + return originalUA + " Mobile Safari"; + }, + }, + }, ]; const UAHelpers = { getDeviceAppropriateChromeUA() { if (!UAHelpers._deviceAppropriateChromeUA) { - const RunningFirefoxVersion = (navigator.userAgent.match( - /Firefox\/([0-9.]+)/ - ) || ["", "58.0"])[1]; + const userAgent = + typeof navigator !== "undefined" ? navigator.userAgent : ""; + const RunningFirefoxVersion = (userAgent.match(/Firefox\/([0-9.]+)/) || [ + "", + "58.0", + ])[1]; const RunningAndroidVersion = - navigator.userAgent.match(/Android\/[0-9.]+/) || "Android 6.0"; + userAgent.match(/Android\/[0-9.]+/) || "Android 6.0"; const ChromeVersionToMimic = "76.0.3809.111"; const ChromePhoneUA = `Mozilla/5.0 (Linux; ${RunningAndroidVersion}; Nexus 5 Build/MRA58N) FxQuantum/${RunningFirefoxVersion} AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${ChromeVersionToMimic} Mobile Safari/537.36`; const ChromeTabletUA = `Mozilla/5.0 (Linux; ${RunningAndroidVersion}; Nexus 7 Build/JSS15Q) FxQuantum/${RunningFirefoxVersion} AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${ChromeVersionToMimic} Safari/537.36`; - const IsPhone = navigator.userAgent.includes("Mobile"); + const IsPhone = userAgent.includes("Mobile"); UAHelpers._deviceAppropriateChromeUA = IsPhone ? ChromePhoneUA : ChromeTabletUA; diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/experiment-apis/pictureInPicture.js thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/pictureInPicture.js --- thunderbird-68.4.1/browser/extensions/webcompat/experiment-apis/pictureInPicture.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/pictureInPicture.js 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,75 @@ +/* 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/. */ + +"use strict"; + +/* global ChromeUtils, ExtensionAPI, Services */ +ChromeUtils.defineModuleGetter( + this, + "Services", + "resource://gre/modules/Services.jsm" +); + +ChromeUtils.defineModuleGetter( + this, + "TOGGLE_POLICIES", + "resource://gre/modules/PictureInPictureTogglePolicy.jsm" +); + +ChromeUtils.defineModuleGetter( + this, + "AppConstants", + "resource://gre/modules/AppConstants.jsm" +); + +const TOGGLE_ENABLED_PREF = + "media.videocontrols.picture-in-picture.video-toggle.enabled"; + +/** + * This API is expected to be running in the parent process. + */ +this.pictureInPictureParent = class extends ExtensionAPI { + getAPI(context) { + return { + pictureInPictureParent: { + setOverrides(overrides) { + // The Picture-in-Picture toggle is only implemented for Desktop, so make + // this a no-op for non-Desktop builds. + if (AppConstants.platform == "android") { + return; + } + + Services.ppmm.sharedData.set( + "PictureInPicture:ToggleOverrides", + overrides + ); + }, + }, + }; + } +}; + +/** + * This API is expected to be running in a content process - specifically, + * the WebExtension content process that the background scripts run in. We + * split these out so that they can return values synchronously to the + * background scripts. + */ +this.pictureInPictureChild = class extends ExtensionAPI { + getAPI(context) { + return { + pictureInPictureChild: { + getPolicies() { + // The Picture-in-Picture toggle is only implemented for Desktop, so make + // this return nothing for non-Desktop builds. + if (AppConstants.platform == "android") { + return {}; + } + + return Cu.cloneInto(TOGGLE_POLICIES, context.cloneScope); + }, + }, + }; + } +}; diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/experiment-apis/pictureInPicture.json thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/pictureInPicture.json --- thunderbird-68.4.1/browser/extensions/webcompat/experiment-apis/pictureInPicture.json 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/pictureInPicture.json 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,39 @@ +[ + { + "namespace": "pictureInPictureParent", + "description": "Parent process methods for controlling the Picture-in-Picture feature.", + "functions": [ + { + "name": "setOverrides", + "type": "function", + "description": "Set Picture-in-Picture toggle position overrides", + "parameters": [ + { + "name": "overrides", + "type": "object", + "additionalProperties": { "type": "any" }, + "description": "The Picture-in-Picture toggle position overrides to set" + } + ] + } + ] + }, + { + "namespace": "pictureInPictureChild", + "description": "WebExtension process methods for querying the Picture-in-Picture feature.", + "functions": [ + { + "name": "getPolicies", + "type": "function", + "description": "Get the Picture-in-Picture toggle position override constants", + "parameters": [], + "returns": { + "type": "object", + "properties": {}, + "additionalProperties": { "type": "any" }, + "description": "The Picture-in-Picture toggle position override constants" + } + } + ] + } +] diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/experiment-apis/systemManufacturer.js thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/systemManufacturer.js --- thunderbird-68.4.1/browser/extensions/webcompat/experiment-apis/systemManufacturer.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/systemManufacturer.js 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,27 @@ +/* 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/. */ + +"use strict"; + +/* global ExtensionAPI, Services, XPCOMUtils */ + +XPCOMUtils.defineLazyModuleGetters(this, { + Services: "resource://gre/modules/Services.jsm", +}); + +this.systemManufacturer = class extends ExtensionAPI { + getAPI(context) { + return { + systemManufacturer: { + getManufacturer() { + try { + return Services.sysinfo.getProperty("manufacturer"); + } catch (_) { + return undefined; + } + }, + }, + }; + } +}; diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/experiment-apis/systemManufacturer.json thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/systemManufacturer.json --- thunderbird-68.4.1/browser/extensions/webcompat/experiment-apis/systemManufacturer.json 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/experiment-apis/systemManufacturer.json 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,20 @@ +[ + { + "namespace": "systemManufacturer", + "description": "experimental API extension to allow reading the device's manufacturer", + "functions": [ + { + "name": "getManufacturer", + "type": "function", + "description": "Get the device's manufacturer", + "parameters": [], + "returns": { + "type": "string", + "properties": {}, + "additionalProperties": { "type": "any" }, + "description": "The manufacturer's name." + } + } + ] + } +] diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1305028-gaming.youtube.com-webkit-scrollbar.css thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1305028-gaming.youtube.com-webkit-scrollbar.css --- thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1305028-gaming.youtube.com-webkit-scrollbar.css 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1305028-gaming.youtube.com-webkit-scrollbar.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -/** - * gaming.youtube.com - The vertical scrollbar displayed for the main pane is - * partially overlapped by the video itself - * Bug #1305028 - https://bugzilla.mozilla.org/show_bug.cgi?id=1305028 - * - * The scrollbar in the main player area is overlapped by the player, making the - * design look broken. In Chrome, YouTube is using ::-webkit-scrollbar to style - * the bar to match their expectations, but this doesn't work in Firefox. - * To make it look less broken, we hide the scrollbar for the main video pane - * entirely. - */ -ytg-scroll-pane.ytg-watch-page { - scrollbar-width: none; -} diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1432935-breitbart.com-webkit-scrollbar.css thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1432935-breitbart.com-webkit-scrollbar.css --- thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1432935-breitbart.com-webkit-scrollbar.css 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1432935-breitbart.com-webkit-scrollbar.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -/** - * breitbart.com - -webkit-scrollbar dependency causes scrollbar in the header - * Part of Bug #1432935 - https://bugzilla.mozilla.org/show_bug.cgi?id=1432935 - * WebCompat issue #25156 - https://webcompat.com/issues/25156 - * - * This site is using -webkit-scrollbar to hide a header in ther "scrollable - * via JS" header navigation. This breaks in Firefox, and causes a visible - * scrollbar to appear which overlaps large portions of the navigation content. - * While we wait for an outreach response, let's fix it ourselves. - */ -#HWT ul { - scrollbar-width: none; -} diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1605611-maps.google.com-directions-time.css thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1605611-maps.google.com-directions-time.css --- thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1605611-maps.google.com-directions-time.css 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1605611-maps.google.com-directions-time.css 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,24 @@ +/** + * Bug 1605611 - Cannot change Departure/arrival dates in Google Maps on Android + * + * This is step 3 - see injections/js/bug1605611-maps.google.com-directions-time.js. + * Google Maps calls .click() on a datetime-local input element, with the intent + * to show the native date picker. But the native date picker does not appear, + * because that only happens when a user initiated the click. + * To fix the problem of the date picker not appearing in Google Maps, alter the + * styles of the datetime-local input element, to be rendered on top of the + * usual UI (i.e. the icon and date/time text). This allows the user to summon + * the native date picker when they tap on the relevant UI in Google Maps. + */ + +.ml-route-options-picker-content-button + > #ml-route-options-time-selector-time-input { + z-index: 1; /* overrides -5000, to show on top of the icon AND the rendered date */ + opacity: 0; /* let the input element be fully transparent */ + width: 100vw; /* render over the rendered date from Maps' dialog */ + /* position this (absolute) element to fully cover the parent container */ + left: 0; + bottom: 0; + top: 0; + height: 100%; +} diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1609991-cracked.com-flex-basis-fix.css thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1609991-cracked.com-flex-basis-fix.css --- thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1609991-cracked.com-flex-basis-fix.css 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1609991-cracked.com-flex-basis-fix.css 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,12 @@ +/** + * www.cracked.com - text and images don't reflow to fit screen width + * Bug #1609991 - https://bugzilla.mozilla.org/show_bug.cgi?id=1609991 + * WebCompat issue #18218 - https://webcompat.com/issues/18218 + * + * Text and images don't fit screen width due to + * https://bugzilla.mozilla.org/show_bug.cgi?id=1316534. Adding flex-basis: auto; + * to the affected element fixes the issue + */ +.col-12 { + flex-basis: auto; +} diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1610016-gaana.com-input-position-fix.css thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1610016-gaana.com-input-position-fix.css --- thunderbird-68.4.1/browser/extensions/webcompat/injections/css/bug1610016-gaana.com-input-position-fix.css 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/css/bug1610016-gaana.com-input-position-fix.css 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,13 @@ +/** + * gaana.com - unable to accept T&C and Privacy Policy + * Bug #1610016 - https://bugzilla.mozilla.org/show_bug.cgi?id=1610016 + * WebCompat issue #29886 - https://webcompat.com/issues/29886 + * + * Unable to click on checkboxes due to input element floating to the right. + * More info https://bugzilla.mozilla.org/show_bug.cgi?id=997189. Adding explicit + * positioning to the input fixes the issue + */ +.agree_btns input { + top: 0; + left: 0; +} diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1472081-election.gov.np-window.sidebar-shim.js thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1472081-election.gov.np-window.sidebar-shim.js --- thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1472081-election.gov.np-window.sidebar-shim.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1472081-election.gov.np-window.sidebar-shim.js 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -"use strict"; - -/** - * Bug 1472081 - election.gov.np - Override window.sidebar with something falsey - * WebCompat issue #11622 - https://webcompat.com/issues/11622 - * - * This site is blocking onmousedown and onclick if window.sidebar is something - * that evaluates to true, rendering the form fields unusable. This patch - * overrides window.sidebar with false, so the blocking event handlers won't - * get registered. - */ - -/* globals exportFunction */ - -console.info( - "window.sidebar has been shimmed for compatibility reasons. See https://webcompat.com/issues/11622 for details." -); - -Object.defineProperty(window.wrappedJSObject, "sidebar", { - get: exportFunction(function() { - return false; - }, window), - - set: exportFunction(function() {}, window), -}); diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1482066-portalminasnet.com-window.sidebar-shim.js thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1482066-portalminasnet.com-window.sidebar-shim.js --- thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1482066-portalminasnet.com-window.sidebar-shim.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1482066-portalminasnet.com-window.sidebar-shim.js 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -"use strict"; - -/** - * portalminasnet.com - Override window.sidebar with something falsey - * WebCompat issue #18143 - https://webcompat.com/issues/18143 - * - * This site is blocking onmousedown and onclick if window.sidebar is something - * that evaluates to true, rendering the login unusable. This patch overrides - * window.sidebar with false, so the blocking event handlers won't get - * registered. - */ - -/* globals exportFunction */ - -console.info( - "window.sidebar has been shimmed for compatibility reasons. See https://webcompat.com/issues/18143 for details." -); - -Object.defineProperty(window.wrappedJSObject, "sidebar", { - get: exportFunction(function() { - return false; - }, window), - - set: exportFunction(function() {}, window), -}); diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1577245-salesforce-communities-hide-unsupported.js thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1577245-salesforce-communities-hide-unsupported.js --- thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1577245-salesforce-communities-hide-unsupported.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1577245-salesforce-communities-hide-unsupported.js 2020-02-10 08:43:18.000000000 +0000 @@ -1,11 +1,10 @@ "use strict"; /** - * help.pandora.com - Hide unsupported message in Firefox for Android - * WebCompat issue #38433 - https://webcompat.com/issues/38433 + * Salesforce Communities - Hide unsupported message in Firefox for Android * - * SalesForce Communities are showing unsupported message - * for help.pandora.com and some more sites. See the full list here: + * Sites based on Salesforce Communities are showing unsupported message. + * See the full list here: * https://github.com/webcompat/web-bugs/issues?utf8=%E2%9C%93&q=doNotShowUnsupportedBrowserModal */ diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1605611-maps.google.com-directions-time.js thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1605611-maps.google.com-directions-time.js --- thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1605611-maps.google.com-directions-time.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1605611-maps.google.com-directions-time.js 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,82 @@ +"use strict"; + +/* globals exportFunction */ + +/** + * Bug 1605611 - Cannot change Departure/arrival dates in Google Maps on Android + * + * This patch does the following: + * 1. Re-enable the disabled "Leave now" button. + * 2. Fix the precision of datetime-local inputs (to minutes). + * 3. Fixup side effect from enabling the date picker UI via + * injections/css/bug1605611-maps.google.com-directions-time.css + * + * See https://bugzilla.mozilla.org/show_bug.cgi?id=1605611#c0 for details. + */ + +// Step 1. +document.addEventListener("DOMContentLoaded", () => { + // In case the element appeared before the MutationObserver was activated. + for (const elem of document.querySelectorAll( + ".ml-directions-time[disabled]" + )) { + elem.disabled = false; + } + // Start watching for the insertion of the "Leave now" button. + const moOptions = { + attributeFilter: ["disabled"], + attributes: true, + subtree: true, + }; + const mo = new MutationObserver(function(records) { + let restore = false; + for (const { target } of records) { + if (target.classList.contains("ml-directions-time")) { + if (!restore) { + restore = true; + mo.disconnect(); + } + target.disabled = false; + } + } + if (restore) { + mo.observe(document.body, moOptions); + } + }); + mo.observe(document.body, moOptions); +}); + +// Step 2. +const originalValueAsNumberGetter = Object.getOwnPropertyDescriptor( + HTMLInputElement.prototype.wrappedJSObject, + "valueAsNumber" +).get; +Object.defineProperty( + HTMLInputElement.prototype.wrappedJSObject, + "valueAsNumber", + { + configurable: true, + enumerable: true, + get: originalValueAsNumberGetter, + set: exportFunction(function(v) { + if (this.type === "datetime-local" && v) { + const d = new Date(v); + d.setSeconds(0); + d.setMilliseconds(0); + v = d.getTime(); + } + this.valueAsNumber = v; + }, window), + } +); + +// Step 3. +// injections/css/bug1605611-maps.google.com-directions-time.css fixes the bug, +// but a side effect of allowing the user to click on the datetime-local input +// is that the keyboard appears when the native date picker is closed. +// Fix this by unfocusing the datetime-local input upon focus. +document.addEventListener("focusin", ({ target }) => { + if (target.id === "ml-route-options-time-selector-time-input") { + target.blur(); + } +}); diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1610358-pcloud.com-appVersion-change.js thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1610358-pcloud.com-appVersion-change.js --- thunderbird-68.4.1/browser/extensions/webcompat/injections/js/bug1610358-pcloud.com-appVersion-change.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/injections/js/bug1610358-pcloud.com-appVersion-change.js 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,25 @@ +"use strict"; + +/** + * Bug 1610358 - Add "mobile" to navigator.appVersion + * WebCompat issue #40353 - https://webcompat.com/issues/40353 + * + * the site expecting navigator.appVersion to contain "mobile", + * otherwise it's serving a tablet version for Firefox mobile + */ + +/* globals exportFunction */ + +console.info( + "The user agent has been overridden for compatibility reasons. See https://webcompat.com/issues/40353 for details." +); + +const APP_VERSION = navigator.appVersion + " mobile"; + +Object.defineProperty(window.navigator.wrappedJSObject, "appVersion", { + get: exportFunction(function() { + return APP_VERSION; + }, window), + + set: exportFunction(function() {}, window), +}); diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/lib/google.js thunderbird-68.5.0/browser/extensions/webcompat/lib/google.js --- thunderbird-68.4.1/browser/extensions/webcompat/lib/google.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/lib/google.js 2020-02-10 08:43:18.000000000 +0000 @@ -4,6 +4,8 @@ "use strict"; +/* globals module */ + const GOOGLE_TLDS = [ "com", "ac", @@ -209,3 +211,5 @@ function getMatchPatternsForGoogleURL(url, path = "*") { return GOOGLE_TLDS.map(domain => `*://${url}.${domain}/${path}`); } + +module.exports = getMatchPatternsForGoogleURL; diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/lib/picture_in_picture_overrides.js thunderbird-68.5.0/browser/extensions/webcompat/lib/picture_in_picture_overrides.js --- thunderbird-68.4.1/browser/extensions/webcompat/lib/picture_in_picture_overrides.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/lib/picture_in_picture_overrides.js 2020-02-10 08:43:18.000000000 +0000 @@ -0,0 +1,17 @@ +/* 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/. */ + +"use strict"; + +/* globals browser, module */ + +class PictureInPictureOverrides { + constructor(availableOverrides) { + this._availableOverrides = availableOverrides; + } + + bootup() { + browser.pictureInPictureParent.setOverrides(this._availableOverrides); + } +} diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/manifest.json thunderbird-68.5.0/browser/extensions/webcompat/manifest.json --- thunderbird-68.4.1/browser/extensions/webcompat/manifest.json 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/manifest.json 2020-02-10 08:43:18.000000000 +0000 @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "Web Compat", "description": "Urgent post-release fixes for web compatibility.", - "version": "6.3.0", + "version": "7.0.0", "applications": { "gecko": { @@ -36,6 +36,22 @@ "paths": [["experiments"]] } }, + "pictureInPictureChild": { + "schema": "experiment-apis/pictureInPicture.json", + "child": { + "scopes": ["addon_child"], + "script": "experiment-apis/pictureInPicture.js", + "paths": [["pictureInPictureChild"]] + } + }, + "pictureInPictureParent": { + "schema": "experiment-apis/pictureInPicture.json", + "parent": { + "scopes": ["addon_parent"], + "script": "experiment-apis/pictureInPicture.js", + "paths": [["pictureInPictureParent"]] + } + }, "sharedPreferences": { "schema": "experiment-apis/sharedPreferences.json", "parent": { @@ -43,26 +59,32 @@ "script": "experiment-apis/sharedPreferences.js", "paths": [["sharedPreferences"]] } + }, + "systemManufacturer": { + "schema": "experiment-apis/systemManufacturer.json", + "child": { + "scopes": ["addon_child"], + "script": "experiment-apis/systemManufacturer.js", + "paths": [["systemManufacturer"]] + } } }, "content_security_policy": "script-src 'self' 'sha256-MmZkN2QaIHhfRWPZ8TVRjijTn5Ci1iEabtTEWrt9CCo='; default-src 'self'; base-uri moz-extension://*; object-src 'none'", - "permissions": [ - "webRequest", - "webRequestBlocking", - "" - ], + "permissions": ["webRequest", "webRequestBlocking", ""], "background": { "scripts": [ "lib/module_shim.js", "lib/google.js", "data/injections.js", + "data/picture_in_picture_overrides.js", "data/ua_overrides.js", "lib/about_compat_broker.js", "lib/custom_functions.js", "lib/injections.js", + "lib/picture_in_picture_overrides.js", "lib/ua_overrides.js", "run.js" ] diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/moz.build thunderbird-68.5.0/browser/extensions/webcompat/moz.build --- thunderbird-68.4.1/browser/extensions/webcompat/moz.build 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/moz.build 2020-02-10 08:43:18.000000000 +0000 @@ -24,6 +24,7 @@ FINAL_TARGET_FILES.features['webcompat@mozilla.org']['data'] += [ 'data/injections.js', + 'data/picture_in_picture_overrides.js', 'data/ua_overrides.js', ] @@ -32,14 +33,16 @@ 'experiment-apis/aboutConfigPrefs.json', 'experiment-apis/experiments.js', 'experiment-apis/experiments.json', + 'experiment-apis/pictureInPicture.js', + 'experiment-apis/pictureInPicture.json', 'experiment-apis/sharedPreferences.js', 'experiment-apis/sharedPreferences.json', + 'experiment-apis/systemManufacturer.js', + 'experiment-apis/systemManufacturer.json', ] FINAL_TARGET_FILES.features['webcompat@mozilla.org']['injections']['css'] += [ 'injections/css/bug0000000-testbed-css-injection.css', - 'injections/css/bug1305028-gaming.youtube.com-webkit-scrollbar.css', - 'injections/css/bug1432935-breitbart.com-webkit-scrollbar.css', 'injections/css/bug1432935-discordapp.com-webkit-scorllbar-white-line.css', 'injections/css/bug1518781-twitch.tv-webkit-scrollbar.css', 'injections/css/bug1526977-sreedharscce.in-login-fix.css', @@ -54,7 +57,10 @@ 'injections/css/bug1575011-holiday-weather.com-scrolling-fix.css', 'injections/css/bug1575017-dunkindonuts.com-flex-basis.css', 'injections/css/bug1577270-binance.com-calc-height-fix.css', - 'injections/css/bug1577297-kitkat.com.au-slider-width-fix.css' + 'injections/css/bug1577297-kitkat.com.au-slider-width-fix.css', + 'injections/css/bug1605611-maps.google.com-directions-time.css', + 'injections/css/bug1609991-cracked.com-flex-basis-fix.css', + 'injections/css/bug1610016-gaana.com-input-position-fix.css', ] FINAL_TARGET_FILES.features['webcompat@mozilla.org']['injections']['js'] += [ @@ -62,11 +68,11 @@ 'injections/js/bug1452707-window.controllers-shim-ib.absa.co.za.js', 'injections/js/bug1457335-histography.io-ua-change.js', 'injections/js/bug1472075-bankofamerica.com-ua-change.js', - 'injections/js/bug1472081-election.gov.np-window.sidebar-shim.js', - 'injections/js/bug1482066-portalminasnet.com-window.sidebar-shim.js', 'injections/js/bug1570856-medium.com-menu-isTier1.js', 'injections/js/bug1577245-salesforce-communities-hide-unsupported.js', - 'injections/js/bug1579159-m.tailieu.vn-pdfjs-worker-disable.js' + 'injections/js/bug1579159-m.tailieu.vn-pdfjs-worker-disable.js', + 'injections/js/bug1605611-maps.google.com-directions-time.js', + 'injections/js/bug1610358-pcloud.com-appVersion-change.js', ] FINAL_TARGET_FILES.features['webcompat@mozilla.org']['lib'] += [ @@ -75,8 +81,9 @@ 'lib/google.js', 'lib/injections.js', 'lib/module_shim.js', + 'lib/picture_in_picture_overrides.js', 'lib/ua_overrides.js', ] with Files('**'): - BUG_COMPONENT = ('Web Compatibility Tools', 'Go Faster') + BUG_COMPONENT = ('Web Compatibility', 'Tooling & Investigations') diff -Nru thunderbird-68.4.1/browser/extensions/webcompat/run.js thunderbird-68.5.0/browser/extensions/webcompat/run.js --- thunderbird-68.4.1/browser/extensions/webcompat/run.js 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/extensions/webcompat/run.js 2020-02-10 08:43:18.000000000 +0000 @@ -5,10 +5,12 @@ "use strict"; /* globals AVAILABLE_INJECTIONS, AVAILABLE_UA_OVERRIDES, AboutCompatBroker, - Injections, UAOverrides, CUSTOM_FUNCTIONS */ + Injections, UAOverrides, CUSTOM_FUNCTIONS, AVAILABLE_PIP_OVERRIDES, + PictureInPictureOverrides */ const injections = new Injections(AVAILABLE_INJECTIONS, CUSTOM_FUNCTIONS); const uaOverrides = new UAOverrides(AVAILABLE_UA_OVERRIDES); +const pipOverrides = new PictureInPictureOverrides(AVAILABLE_PIP_OVERRIDES); const aboutCompatBroker = new AboutCompatBroker({ injections, @@ -18,3 +20,4 @@ aboutCompatBroker.bootup(); injections.bootup(); uaOverrides.bootup(); +pipOverrides.bootup(); diff -Nru thunderbird-68.4.1/browser/installer/windows/nsis/shared.nsh thunderbird-68.5.0/browser/installer/windows/nsis/shared.nsh --- thunderbird-68.4.1/browser/installer/windows/nsis/shared.nsh 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/installer/windows/nsis/shared.nsh 2020-02-10 08:43:18.000000000 +0000 @@ -551,8 +551,44 @@ WriteRegStr ${RegKey} "$0\Capabilities\URLAssociations" "http" "FirefoxURL$2" WriteRegStr ${RegKey} "$0\Capabilities\URLAssociations" "https" "FirefoxURL$2" - ; Registered Application WriteRegStr ${RegKey} "Software\RegisteredApplications" "$1" "$0\Capabilities" + + ; This key would be created by the Open With dialog when a user creates an + ; association for us with a file type that we haven't registered as a handler + ; for. We need to preemptively create it ourselves so that we can control the + ; command line that's used to launch us in that situation. If it's too late + ; and one already exists, then we need to edit its command line to make sure + ; it contains the -osint flag. + ReadRegStr $6 ${RegKey} "Software\Classes\Applications\${FileMainEXE}\shell\open\command" "" + ${If} $6 != "" + ${GetPathFromString} "$6" $6 + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\shell\open\command" \ + "" "$\"$6$\" -osint -url $\"%1$\"" + ${Else} + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\shell\open\command" \ + "" "$\"$8$\" -osint -url $\"%1$\"" + ; Make sure files associated this way use the document icon instead of the + ; application icon. + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\DefaultIcon" \ + "" "$8,1" + ; If we're going to create this key at all, we also need to list our supported + ; file types in it, because otherwise we'll be shown as a suggestion for every + ; single file type, whether we support it in any way or not. + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\SupportedTypes" \ + ".htm" "" + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\SupportedTypes" \ + ".html" "" + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\SupportedTypes" \ + ".shtml" "" + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\SupportedTypes" \ + ".xht" "" + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\SupportedTypes" \ + ".xhtml" "" + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\SupportedTypes" \ + ".svg" "" + WriteRegStr ${RegKey} "Software\Classes\Applications\${FileMainEXE}\SupportedTypes" \ + ".webp" "" + ${EndIf} !macroend !define SetStartMenuInternet "!insertmacro SetStartMenuInternet" diff -Nru thunderbird-68.4.1/browser/installer/windows/nsis/uninstaller.nsi thunderbird-68.5.0/browser/installer/windows/nsis/uninstaller.nsi --- thunderbird-68.4.1/browser/installer/windows/nsis/uninstaller.nsi 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/installer/windows/nsis/uninstaller.nsi 2020-02-10 08:43:18.000000000 +0000 @@ -385,6 +385,18 @@ ${EndIf} ${EndIf} + ; Remove our HKCR/Applications key, if it's for this installation. + ReadRegStr $0 HKLM "Software\Classes\Applications\${FileMainEXE}\DefaultIcon" "" + StrCpy $0 $0 -2 + ${If} $0 == "$INSTDIR\${FileMainEXE}" + DeleteRegKey HKLM "Software\Classes\Applications\${FileMainEXE}" + ${EndIf} + ReadRegStr $0 HKCU "Software\Classes\Applications\${FileMainEXE}\DefaultIcon" "" + StrCpy $0 $0 -2 + ${If} $0 == "$INSTDIR\${FileMainEXE}" + DeleteRegKey HKCU "Software\Classes\Applications\${FileMainEXE}" + ${EndIf} + ; Remove directories and files we always control before parsing the uninstall ; log so empty directories can be removed. ${If} ${FileExists} "$INSTDIR\updates" diff -Nru thunderbird-68.4.1/browser/locales/en-US/chrome/browser/browser.properties thunderbird-68.5.0/browser/locales/en-US/chrome/browser/browser.properties --- thunderbird-68.4.1/browser/locales/en-US/chrome/browser/browser.properties 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/locales/en-US/chrome/browser/browser.properties 2020-02-10 08:43:18.000000000 +0000 @@ -1079,13 +1079,6 @@ # %1$S is the name of the site URL (www.site1.example) trying to track the user's activity. # %2$S is the name of the site URL (www.site2.example) that the user is visiting. This is the same domain name displayed in the address bar. storageAccess.message = Will you give %1$S access to track your browsing activity on %2$S? -# LOCALIZATION NOTE (storageAccess.description.label): -# %1$S is the name of the site URL (www.site1.example) trying to track the user's activity. -# %2$S will be replaced with the localized version of storageAccess.description.learnmore. This text will be converted into a hyper-link linking to the SUMO page explaining the concept of third-party trackers. -storageAccess.description.label = You may want to block %1$S on this site if you don’t recognize or trust it. Learn more about %2$S -# LOCALIZATION NOTE (storageAccess.description.learnmore): -# The value of this string is embedded inside storageAccess.description.label. See the localization note for storageAccess.description.label. -storageAccess.description.learnmore = third-party trackers confirmationHint.sendToDevice.label = Sent! confirmationHint.sendToDeviceOffline.label = Queued (offline) diff -Nru thunderbird-68.4.1/browser/modules/PermissionUI.jsm thunderbird-68.5.0/browser/modules/PermissionUI.jsm --- thunderbird-68.4.1/browser/modules/PermissionUI.jsm 2020-01-09 03:28:21.000000000 +0000 +++ thunderbird-68.5.0/browser/modules/PermissionUI.jsm 2020-02-10 08:43:18.000000000 +0000 @@ -1153,7 +1153,11 @@ }, get popupOptions() { + let learnMoreURL = + Services.urlFormatter.formatURLPref("app.support.baseURL") + + "third-party-cookies"; return { + learnMoreURL, displayURI: false, name: this.prettifyHostPort(this.principal.URI), secondName: this.prettifyHostPort(this.topLevelPrincipal.URI), @@ -1161,36 +1165,6 @@ }; }, - onShown() { - let document = this.browser.ownerDocument; - let label = gBrowserBundle.formatStringFromName( - "storageAccess.description.label", - [this.prettifyHostPort(this.request.principal.URI), "<>"], - 2 - ); - let parts = label.split("<>"); - if (parts.length == 1) { - parts.push(""); - } - let map = { - "storage-access-perm-label": parts[0], - "storage-access-perm-learnmore": gBrowserBundle.GetStringFromName( - "storageAccess.description.learnmore" - ), - "storage-access-perm-endlabel": parts[1], - }; - for (let id in map) { - let str = map[id]; - document.getElementById(id).textContent = str; - } - let learnMoreURL = - Services.urlFormatter.formatURLPref("app.support.baseURL") + - "third-party-cookies"; - document.getElementById( - "storage-access-perm-learnmore" - ).href = learnMoreURL; - }, - get notificationID() { return "storage-access"; }, Binary files /srv/release.debian.org/tmp/1ea_2BXuQh/thunderbird-68.4.1/build/pgo/certs/cert9.db and /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/build/pgo/certs/cert9.db differ Binary files /srv/release.debian.org/tmp/1ea_2BXuQh/thunderbird-68.4.1/build/pgo/certs/key4.db and /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/build/pgo/certs/key4.db differ Binary files /srv/release.debian.org/tmp/1ea_2BXuQh/thunderbird-68.4.1/build/pgo/certs/mochitest.client and /srv/release.debian.org/tmp/DGUkAigYBh/thunderbird-68.5.0/build/pgo/certs/mochitest.client differ diff -Nru thunderbird-68.4.1/comm/.gecko_rev.yml thunderbird-68.5.0/comm/.gecko_rev.yml --- thunderbird-68.4.1/comm/.gecko_rev.yml 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/.gecko_rev.yml 2020-02-10 08:43:40.000000000 +0000 @@ -2,7 +2,7 @@ GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-esr68 GECKO_HEAD_REF: THUNDERBIRD_68_VERBRANCH -GECKO_HEAD_REV: 5c3329fb2b7d52fa06d00b6b1b384b0ef7c4a279 +GECKO_HEAD_REV: 16d79644762736956033ef1b43686c992a44e270 ### For comm-central # GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified diff -Nru thunderbird-68.4.1/comm/.taskcluster.yml thunderbird-68.5.0/comm/.taskcluster.yml --- thunderbird-68.4.1/comm/.taskcluster.yml 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/.taskcluster.yml 2020-02-10 08:43:40.000000000 +0000 @@ -2,7 +2,6 @@ # 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/. --- -# yamllint disable rule:indentation # This file is rendered via JSON-e by # - mozilla-taskcluster - See # https://docs.taskcluster.net/reference/integrations/mozilla-taskcluster/docs/taskcluster-yml @@ -46,214 +45,265 @@ # repository: {url, project, level}, # input, # parameters, -# taskId, // targeted taskId -# taskGroupId, // targeted taskGroupId +# taskId, // targetted taskId +# taskGroupId, // targetted taskGroupId # action: {name, title, description, taskGroupId, symbol, repo_scope, cb_name} # ownTaskId: // taskId of the task that will be created +# clientId: // clientId that triggered this hook # } version: 1 - tasks: - - $let: - # sometimes the push user is just `ffxbld` or the like, but we want an email-like field.. - ownerEmail: {$if: '"@" in push.owner', then: '${push.owner}', else: '${push.owner}@noreply.mozilla.org'} - # ensure there's no trailing `/` on the repo URL - repoUrl: {$if: 'repository.url[-1] == "/"', then: {$eval: 'repository.url[:-1]'}, else: {$eval: 'repository.url'}} - # Hardcode cron push info for now, so that we can transition to using real values without breaking callers of Chain of Trust - _pushId: {$if: 'tasks_for == "cron"', then: '-1', else: {$eval: 'push.pushlog_id'}} - in: - taskId: {$if: 'tasks_for != "action"', then: '${ownTaskId}'} - taskGroupId: - $if: 'tasks_for == "action"' - then: - '${action.taskGroupId}' - else: - '${ownTaskId}' # same as taskId; this is how automation identifies a decision tsak - schedulerId: 'comm-level-${repository.level}' - - created: {$fromNow: ''} - deadline: {$fromNow: '1 day'} - expires: {$fromNow: '1 year 1 second'} # 1 second so artifacts expire first, despite rounding errors - - metadata: - $merge: - - owner: "${ownerEmail}" - source: "${repoUrl}/raw-file/${push.revision}/.taskcluster.yml" - - $if: 'tasks_for == "hg-push"' - then: - name: "Thunderbird Decision Task" - description: 'The task that creates all of the other tasks in the task graph' - else: - $if: 'tasks_for == "action"' - then: - name: "Action: ${action.title}" - description: '${action.description}' - else: - name: "Decision Task for cron job ${cron.job_name}" - description: 'Created by a [cron task](https://tools.taskcluster.net/tasks/${cron.task_id})' - - provisionerId: "comm-${repository.level}" - workerType: "decision" - - tags: - $if: 'tasks_for == "hg-push"' - then: {createdForUser: "${ownerEmail}"} - else: - $if: 'tasks_for == "action"' - then: - createdForUser: '${ownerEmail}' - kind: 'action-callback' - - routes: - $flatten: - - "tc-treeherder.v2.${repository.project}.${push.revision}.${push.pushlog_id}" - - "tc-treeherder-stage.v2.${repository.project}.${push.revision}.${push.pushlog_id}" - - $if: 'tasks_for == "hg-push"' - then: - - "index.comm.v2.${repository.project}.latest.taskgraph.decision" - - "index.comm.v2.${repository.project}.revision.${push.revision}.taskgraph.decision" - - "index.comm.v2.${repository.project}.pushlog-id.${push.pushlog_id}.decision" - - "notify.email.${ownerEmail}.on-failed" - - "notify.email.${ownerEmail}.on-exception" - else: - $if: 'tasks_for == "action"' - then: - - "notify.email.taskcluster-notifications+action-task@mozilla.com.on-failed" - - "notify.email.taskcluster-notifications+action-task@mozilla.com.on-exception" - - "index.comm.v2.${repository.project}.pushlog-id.${_pushId}.actions.${ownTaskId}" - else: - - "index.comm.v2.${repository.project}.latest.taskgraph.decision-${cron.job_name}" - - scopes: - $if: 'tasks_for == "hg-push"' - then: - - 'assume:repo:${repoUrl[8:]}:branch:default' - - 'queue:route:notify.email.${ownerEmail}.*' - - 'in-tree:hook-action:project-comm/in-tree-action-${repository.level}-*' - else: - $if: 'tasks_for == "action"' - then: - - '${action.repo_scope}' - else: - - 'assume:repo:${repoUrl[8:]}:cron:${cron.job_name}' - - dependencies: [] - requires: all-completed - - priority: lowest - retries: 5 - - payload: - env: - # checkout-gecko uses these to check out the source; the inputs - # to `mach taskgraph decision` are all on the command line. - $merge: - - COMM_BASE_REPOSITORY: 'https://hg.mozilla.org/comm-central' - COMM_HEAD_REPOSITORY: '${repoUrl}' - COMM_HEAD_REF: '${push.revision}' - COMM_HEAD_REV: '${push.revision}' - HG_STORE_PATH: /builds/worker/checkouts/hg-store - TASKCLUSTER_CACHES: /builds/worker/checkouts - # someday, these will be provided by the worker - Bug 1492664 - TASKCLUSTER_ROOT_URL: https://taskcluster.net - TASKCLUSTER_PROXY_URL: http://taskcluster - - $if: 'tasks_for == "action"' - then: - ACTION_TASK_GROUP_ID: '${action.taskGroupId}' # taskGroupId of the target task - ACTION_TASK_ID: {$json: {$eval: 'taskId'}} # taskId of the target task (JSON-encoded) - ACTION_INPUT: {$json: {$eval: 'input'}} - ACTION_CALLBACK: '${action.cb_name}' - ACTION_PARAMETERS: {$json: {$eval: 'parameters'}} - - cache: - level-${repository.level}-checkouts-sparse-v2: /builds/worker/checkouts - - features: - taskclusterProxy: true - chainOfTrust: true - - # Note: This task is built server side without the context or tooling that - # exist in tree so we must hard code the hash - image: 'taskcluster/decision:2.2.0@sha256:cbeadf57300de60408bf1337e723f0cb1f0200f559799cb54deb9535d1e03b4a' - - maxRunTime: 1800 - - command: - - /builds/worker/bin/comm-task-env - - /builds/worker/bin/run-task - - '--gecko-checkout=/builds/worker/checkouts/gecko' - - '--gecko-sparse-profile=build/sparse-profiles/taskgraph' - - '--comm-checkout=/builds/worker/checkouts/gecko/comm' - - '--' - - bash - - -cx - - $let: - extraArgs: {$if: 'tasks_for == "cron"', then: '${cron.quoted_args}', else: ''} - in: - $if: 'tasks_for == "action"' - then: > - cd /builds/worker/checkouts/gecko && - ln -s /builds/worker/artifacts artifacts && - ./mach --log-no-times taskgraph action-callback - --root=comm/taskcluster/ci - else: > - cd /builds/worker/checkouts/gecko && - ln -s /builds/worker/artifacts artifacts && - ./mach --log-no-times taskgraph decision - --root=comm/taskcluster/ci - --pushlog-id='${push.pushlog_id}' - --pushdate='${push.pushdate}' - --project='${repository.project}' - --owner='${ownerEmail}' - --level='${repository.level}' - --tasks-for='${tasks_for}' - --base-repository="$GECKO_BASE_REPOSITORY" - --head-repository="$GECKO_HEAD_REPOSITORY" - --head-ref="$GECKO_HEAD_REF" - --head-rev="$GECKO_HEAD_REV" - --comm-base-repository="$COMM_BASE_REPOSITORY" - --comm-head-repository="$COMM_HEAD_REPOSITORY" - --comm-head-ref="$COMM_HEAD_REF" - --comm-head-rev="$COMM_HEAD_REV" - --try-task-config-file=comm/try_task_config.json - ${extraArgs} - - artifacts: - 'public': - type: 'directory' - path: '/builds/worker/artifacts' - expires: {$fromNow: '1 year'} - - extra: - $merge: - - treeherder: - $merge: - - machine: - platform: gecko-decision - - $if: 'tasks_for == "hg-push"' + # NOTE: support for actions in ci-admin requires that the `tasks` property be an array *before* JSON-e rendering + # takes place. + - $if: 'tasks_for in ["hg-push", "action", "cron"]' + then: + $let: + # sometimes the push user is just `ffxbld` or the like, but we want an email-like field.. + ownerEmail: {$if: '"@" in push.owner', then: '${push.owner}', else: '${push.owner}@noreply.mozilla.org'} + # ensure there's no trailing `/` on the repo URL + repoUrl: {$if: 'repository.url[-1] == "/"', then: {$eval: 'repository.url[:-1]'}, else: {$eval: 'repository.url'}} + # expire try-comm-central earlier than other branches + expires: + $if: 'repository.project == "try-comm-central"' + then: {$fromNow: '28 days'} + else: {$fromNow: '1 year'} + in: + taskId: {$if: 'tasks_for != "action"', then: '${ownTaskId}'} + taskGroupId: + $if: 'tasks_for == "action"' + then: + '${action.taskGroupId}' + else: + '${ownTaskId}' # same as taskId; this is how automation identifies a decision tsak + schedulerId: 'comm-level-${repository.level}' + + created: {$fromNow: ''} + deadline: {$fromNow: '1 day'} + expires: {$eval: 'expires'} + metadata: + $merge: + - owner: "${ownerEmail}" + source: "${repoUrl}/raw-file/${push.revision}/.taskcluster.yml" + - $if: 'tasks_for == "hg-push"' + then: + name: "Thunderbird Decision Task" + description: 'The task that creates all of the other tasks in the task graph' + else: + $if: 'tasks_for == "action"' + then: + name: "Action: ${action.title}" + description: | + ${action.description} + + Action triggered by clientID `${clientId}` + else: + name: "Decision Task for cron job ${cron.job_name}" + description: 'Created by a [cron task](https://tools.taskcluster.net/tasks/${cron.task_id})' + + provisionerId: "comm-${repository.level}" + workerType: "decision" + + tags: + $if: 'tasks_for == "hg-push"' then: - symbol: D + createdForUser: "${ownerEmail}" + kind: decision-task + else: + $if: 'tasks_for == "action"' + then: + createdForUser: '${ownerEmail}' + kind: 'action-callback' + else: + $if: 'tasks_for == "cron"' + then: + kind: cron-task + + routes: + $flattenDeep: + - "tc-treeherder.v2.${repository.project}.${push.revision}.${push.pushlog_id}" + - $if: 'tasks_for == "hg-push"' + then: + - "index.comm.v2.${repository.project}.latest.taskgraph.decision" + - "index.comm.v2.${repository.project}.revision.${push.revision}.taskgraph.decision" + - "index.comm.v2.${repository.project}.pushlog-id.${push.pushlog_id}.decision" + - "notify.email.${ownerEmail}.on-failed" + - "notify.email.${ownerEmail}.on-exception" + else: + $if: 'tasks_for == "action"' + then: + - "index.comm.v2.${repository.project}.pushlog-id.${push.pushlog_id}.actions.${ownTaskId}" + else: # cron + - "index.comm.v2.${repository.project}.latest.taskgraph.decision-${cron.job_name}" + - "index.comm.v2.${repository.project}.revision.${push.revision}.taskgraph.decision-${cron.job_name}" + - "index.comm.v2.${repository.project}.pushlog-id.${push.pushlog_id}.decision-${cron.job_name}" + # list each cron task on this revision, so actions can find them + - 'index.comm.v2.${repository.project}.revision.${push.revision}.cron.${ownTaskId}' + # Notify tb-builds by email if a nightly hook fails + - $if: 'repository.project != "try-comm-central"' + then: + - "notify.email.tb-builds@thunderbird.net.on-failed" + - "notify.email.tb-builds@thunderbird.net.on-exception" + + scopes: + $if: 'tasks_for == "hg-push"' + then: + - 'assume:repo:${repoUrl[8:]}:branch:default' + - 'queue:route:notify.email.${ownerEmail}.*' + - 'in-tree:hook-action:project-comm/in-tree-action-${repository.level}-*' + else: + $if: 'tasks_for == "action"' + then: + # when all actions are hooks, we can calculate this directly rather than using a variable + - '${action.repo_scope}' + else: + - 'assume:repo:${repoUrl[8:]}:cron:${cron.job_name}' + + dependencies: [] + requires: all-completed + + priority: + # Most times, there is plenty of worker capacity so everything runs + # quickly, but sometimes a storm of action tasks lands. Then we + # want, from highest to lowest: + # - cron tasks (time-sensitive) (low) + # - action tasks (avoid interfering with the other two) (very-low) + # - decision tasks (minimize user-visible delay) (lowest) + # SCM levels all use different workerTypes, so there is no need for priority + # between levels; "low" is the highest priority available at all levels, and + # nothing runs at any higher priority on these workerTypes. + $if: "tasks_for == 'cron'" + then: low else: - $if: 'tasks_for == "action"' - then: - groupName: 'action-callback' - groupSymbol: AC - symbol: "${action.symbol}" - else: - groupSymbol: cron - symbol: "${cron.job_symbol}" - - $if: 'tasks_for == "action"' - then: - parent: '${action.taskGroupId}' - action: - name: '${action.name}' - context: - taskGroupId: '${action.taskGroupId}' - taskId: {$eval: 'taskId'} - input: {$eval: 'input'} - parameters: {$eval: 'parameters'} - - $if: 'tasks_for == "cron"' - then: - cron: {$json: {$eval: 'cron'}} - - tasks_for: '${tasks_for}' + $if: "tasks_for == 'action'" + then: very-low + else: lowest # tasks_for == 'hg-push' + retries: 5 + + payload: + env: + # checkout-gecko uses these to check out the source; the inputs + # to `mach taskgraph decision` are all on the command line. + $merge: + - COMM_BASE_REPOSITORY: 'https://hg.mozilla.org/comm-central' + COMM_HEAD_REPOSITORY: '${repoUrl}' + COMM_HEAD_REF: '${push.revision}' + COMM_HEAD_REV: '${push.revision}' + HG_STORE_PATH: /builds/worker/checkouts/hg-store + TASKCLUSTER_CACHES: /builds/worker/checkouts + # mach generates pyc files when reading `mach_commands.py` + # This causes cached_task digest generation to be random for + # some tasks. Disable bytecode generation to work around that. + PYTHONDONTWRITEBYTECODE: '1' + # someday, these will be provided by the worker - Bug 1492664 + TASKCLUSTER_ROOT_URL: https://taskcluster.net + TASKCLUSTER_PROXY_URL: http://taskcluster + - $if: 'tasks_for == "action"' + then: + ACTION_TASK_GROUP_ID: '${action.taskGroupId}' # taskGroupId of the target task + ACTION_TASK_ID: {$json: {$eval: 'taskId'}} # taskId of the target task (JSON-encoded) + ACTION_INPUT: {$json: {$eval: 'input'}} + ACTION_CALLBACK: '${action.cb_name}' + ACTION_PARAMETERS: {$json: {$eval: 'parameters'}} + + cache: + comm-level-${repository.level}-checkouts-sparse-v2: /builds/worker/checkouts + + features: + taskclusterProxy: true + chainOfTrust: true + + # Note: This task is built server side without the context or tooling that + # exist in tree so we must hard code the hash + image: 'taskcluster/decision:2.2.0@sha256:cbeadf57300de60408bf1337e723f0cb1f0200f559799cb54deb9535d1e03b4a' + + maxRunTime: 1800 + + command: + - /builds/worker/bin/comm-task-env + - /builds/worker/bin/run-task + - '--gecko-checkout=/builds/worker/checkouts/gecko' + - '--gecko-sparse-profile=build/sparse-profiles/taskgraph' + - '--comm-checkout=/builds/worker/checkouts/gecko/comm' + - '--' + - bash + - -cx + - $let: + extraArgs: {$if: 'tasks_for == "cron"', then: '${cron.quoted_args}', else: ''} + in: + $if: 'tasks_for == "action"' + then: > + cd /builds/worker/checkouts/gecko && + ln -s /builds/worker/artifacts artifacts && + ./mach --log-no-times taskgraph action-callback + --root=comm/taskcluster/ci + else: > + cd /builds/worker/checkouts/gecko && + ln -s /builds/worker/artifacts artifacts && + ./mach --log-no-times taskgraph decision + --root=comm/taskcluster/ci + --pushlog-id='${push.pushlog_id}' + --pushdate='${push.pushdate}' + --project='${repository.project}' + --owner='${ownerEmail}' + --level='${repository.level}' + --tasks-for='${tasks_for}' + --base-repository="$GECKO_BASE_REPOSITORY" + --head-repository="$GECKO_HEAD_REPOSITORY" + --head-ref="$GECKO_HEAD_REF" + --head-rev="$GECKO_HEAD_REV" + --comm-base-repository="$COMM_BASE_REPOSITORY" + --comm-head-repository="$COMM_HEAD_REPOSITORY" + --comm-head-ref="$COMM_HEAD_REF" + --comm-head-rev="$COMM_HEAD_REV" + --try-task-config-file=comm/try_task_config.json + ${extraArgs} + + artifacts: + 'public': + type: 'directory' + path: '/builds/worker/artifacts' + expires: {$eval: expires} + + extra: + $merge: + - treeherder: + $merge: + - machine: + platform: gecko-decision + - $if: 'tasks_for == "hg-push"' + then: + symbol: D + else: + $if: 'tasks_for == "action"' + then: + groupName: 'action-callback' + groupSymbol: AC + symbol: "${action.symbol}" + else: + groupSymbol: cron + symbol: "${cron.job_symbol}" + - $if: 'tasks_for == "action"' + then: + parent: '${action.taskGroupId}' + action: + name: '${action.name}' + context: + taskGroupId: '${action.taskGroupId}' + taskId: {$eval: 'taskId'} + input: {$eval: 'input'} + parameters: {$eval: 'parameters'} + clientId: {$eval: 'clientId'} + - $if: 'tasks_for == "cron"' + then: + cron: {$json: {$eval: 'cron'}} + - tasks_for: '${tasks_for}' + # Email for all pushes should link to treeherder + - $if: 'tasks_for == "hg-push"' + then: + notify: + email: + $merge: + - link: + text: "Treeherder Jobs" + href: "https://treeherder.mozilla.org/#/jobs?repo=${repository.project}&revision=${push.revision}" diff -Nru thunderbird-68.4.1/comm/calendar/base/content/calendar-base-view.js thunderbird-68.5.0/comm/calendar/base/content/calendar-base-view.js --- thunderbird-68.4.1/comm/calendar/base/content/calendar-base-view.js 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/content/calendar-base-view.js 2020-02-10 08:43:40.000000000 +0000 @@ -2,7 +2,8 @@ * 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/. */ -/* globals cal currentView MozElements MozXULElement Services toggleOrientation */ +/* global cal, currentView, calendarNavigationBar, MozElements, MozXULElement, Services, + toggleOrientation */ "use strict"; @@ -938,7 +939,7 @@ } setDateRange(startDate, endDate) { - cal.navigationBar.setDateRange(startDate, endDate); + calendarNavigationBar.setDateRange(startDate, endDate); } getSelectedItems(count) { diff -Nru thunderbird-68.4.1/comm/calendar/base/content/calendar-month-base-view.js thunderbird-68.5.0/comm/calendar/base/content/calendar-month-base-view.js --- thunderbird-68.4.1/comm/calendar/base/content/calendar-month-base-view.js 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/content/calendar-month-base-view.js 2020-02-10 08:43:40.000000000 +0000 @@ -2,7 +2,7 @@ * 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/. */ -/* global CalendarBaseView, MozElements, MozXULElement, Services, timeIndicator */ +/* global calendarNavigationBar, MozElements, MozXULElement, Services, timeIndicator */ "use strict"; @@ -293,7 +293,7 @@ // Update the navigation bar only when changes are related to the current view. if (this.isVisible()) { - cal.navigationBar.setDateRange(startDate, endDate); + calendarNavigationBar.setDateRange(startDate, endDate); } // Check whether view range has been changed since last call to relayout(). diff -Nru thunderbird-68.4.1/comm/calendar/base/content/calendar-multiday-base-view.js thunderbird-68.5.0/comm/calendar/base/content/calendar-multiday-base-view.js --- thunderbird-68.4.1/comm/calendar/base/content/calendar-multiday-base-view.js 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/content/calendar-multiday-base-view.js 2020-02-10 08:43:40.000000000 +0000 @@ -2,8 +2,8 @@ * 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/. */ -/* global CalendarBaseView, currentView, getOtherOrientation, MozElements, MozXULElement, Services, - setAttributeToChildren, setBooleanAttribute, timeIndicator */ +/* global CalendarBaseView, currentView, calendarNavigationBar, getOtherOrientation, MozElements, + MozXULElement, Services, setAttributeToChildren, setBooleanAttribute, timeIndicator */ "use strict"; @@ -831,7 +831,7 @@ // Update the navigation bar only when changes are related to the current view. if (this.isVisible()) { - cal.navigationBar.setDateRange(viewStart, viewEnd); + calendarNavigationBar.setDateRange(viewStart, viewEnd); } // Check whether view range has been changed since last call to relayout(). diff -Nru thunderbird-68.4.1/comm/calendar/base/content/calendar-views-utils.js thunderbird-68.5.0/comm/calendar/base/content/calendar-views-utils.js --- thunderbird-68.4.1/comm/calendar/base/content/calendar-views-utils.js 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/content/calendar-views-utils.js 2020-02-10 08:43:40.000000000 +0000 @@ -6,7 +6,7 @@ * observeViewDaySelect, toggleOrientation, * toggleWorkdaysOnly, toggleTasksInView, toggleShowCompletedInView, * goToDate, getLastCalendarView, deleteSelectedEvents, - * editSelectedEvents, selectAllEvents + * editSelectedEvents, selectAllEvents, calendarNavigationBar */ /* import-globals-from calendar-chrome-startup.js */ @@ -586,7 +586,7 @@ composite.getItems(filter, 0, currentView().startDay, end, listener); } -cal.navigationBar = { +var calendarNavigationBar = { setDateRange: function(startDate, endDate) { let docTitle = ""; if (startDate) { diff -Nru thunderbird-68.4.1/comm/calendar/base/content/preferences/categories.js thunderbird-68.5.0/comm/calendar/base/content/preferences/categories.js --- thunderbird-68.4.1/comm/calendar/base/content/preferences/categories.js 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/content/preferences/categories.js 2020-02-10 08:43:40.000000000 +0000 @@ -6,7 +6,7 @@ /* import-globals-from ../../../lightning/content/messenger-overlay-preferences.js */ // From categories.xul. -/* globals noneLabel, newTitle, editTitle, overwrite, overwriteTitle, noBlankCategories */ +/* globals newTitle, editTitle, overwrite, overwriteTitle, noBlankCategories */ var { cal } = ChromeUtils.import("resource://calendar/modules/calUtils.jsm"); var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); @@ -92,12 +92,9 @@ let categoryColor = document.createXULElement("box"); categoryColor.setAttribute("width", "150"); - try { - let colorCode = categoryPrefBranch.getCharPref(categoryNameFix); - categoryColor.setAttribute("id", colorCode); - categoryColor.setAttribute("style", "background-color: " + colorCode + ";"); - } catch (ex) { - categoryColor.setAttribute("label", noneLabel); + let colorCode = categoryPrefBranch.getCharPref(categoryNameFix, ""); + if (colorCode) { + categoryColor.style.backgroundColor = colorCode; } newListItem.appendChild(categoryName); @@ -218,15 +215,7 @@ } else { this.backupData(categoryNameFix); gCategoryList.splice(list.selectedIndex, 1, categoryName); - if (categoryColor) { - categoryPrefBranch.setCharPref(categoryNameFix, categoryColor); - } else { - try { - categoryPrefBranch.clearUserPref(categoryNameFix); - } catch (ex) { - dump("Exception caught in 'saveCategory': " + ex + "\n"); - } - } + categoryPrefBranch.setCharPref(categoryNameFix, categoryColor || ""); } // If 'Overwrite' was chosen, delete category that was being edited diff -Nru thunderbird-68.4.1/comm/calendar/base/content/today-pane.js thunderbird-68.5.0/comm/calendar/base/content/today-pane.js --- thunderbird-68.4.1/comm/calendar/base/content/today-pane.js 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/content/today-pane.js 2020-02-10 08:43:40.000000000 +0000 @@ -508,6 +508,8 @@ let splitter = document.getElementById("today-splitter"); let splitterCollapsed = splitter.getAttribute("state") == "collapsed"; + todaypane.setModeAttribute("modewidths", todaypane.getAttribute("width")); + if (splitterCollapsed == todaypane.isVisible()) { document.getElementById("calendar_toggle_todaypane_command").doCommand(); } diff -Nru thunderbird-68.4.1/comm/calendar/base/src/calDateTimeFormatter.js thunderbird-68.5.0/comm/calendar/base/src/calDateTimeFormatter.js --- thunderbird-68.4.1/comm/calendar/base/src/calDateTimeFormatter.js 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/src/calDateTimeFormatter.js 2020-02-10 08:43:40.000000000 +0000 @@ -62,13 +62,20 @@ * @return {String} The date as a string. */ _inTimezone: function(aDate, aOptions) { + let formatter = new Services.intl.DateTimeFormat(undefined, aOptions); + let timezone = aDate.timezone; - // we set the tz only if we have a valid tz - otherwise localtime will be used on formatting. + // We set the tz only if we have a valid tz - otherwise localtime will be used on formatting. if (timezone && (timezone.isUTC || timezone.icalComponent)) { aOptions.timeZone = timezone.tzid; + try { + formatter = new Services.intl.DateTimeFormat(undefined, aOptions); + } catch (ex) { + // Non-IANA timezones throw a RangeError. + cal.WARN(ex); + } } - let formatter = new Services.intl.DateTimeFormat(undefined, aOptions); return formatter.format(cal.dtz.dateTimeToJsDate(aDate)); }, diff -Nru thunderbird-68.4.1/comm/calendar/base/src/calItemModule.js thunderbird-68.5.0/comm/calendar/base/src/calItemModule.js --- thunderbird-68.4.1/comm/calendar/base/src/calItemModule.js 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/src/calItemModule.js 2020-02-10 08:43:40.000000000 +0000 @@ -30,7 +30,7 @@ var { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); -this.NSGetFactory = cid => { +this._NSGetFactory = cid => { let scriptLoadOrder = [ "resource://calendar/calendar-js/calItemBase.js", "resource://calendar/calendar-js/calCachedCalendar.js", @@ -90,6 +90,12 @@ calWeekInfoService, ]; - this.NSGetFactory = XPCOMUtils.generateNSGetFactory(components); - return this.NSGetFactory(cid); + this._NSGetFactory = XPCOMUtils.generateNSGetFactory(components); + return this._NSGetFactory(cid); +}; + +// This version of NSGetFactory is used every time, even if it is replaced. Instead, we use a shim +// calling an internal function. The internal function is replaced after the first run. +this.NSGetFactory = cid => { + return this._NSGetFactory(cid); }; diff -Nru thunderbird-68.4.1/comm/calendar/base/themes/common/calendar-task-tree.css thunderbird-68.5.0/comm/calendar/base/themes/common/calendar-task-tree.css --- thunderbird-68.4.1/comm/calendar/base/themes/common/calendar-task-tree.css 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/themes/common/calendar-task-tree.css 2020-02-10 08:43:40.000000000 +0000 @@ -17,23 +17,40 @@ color: green !important; } +:root[lwt-tree-brighttext] .calendar-task-tree > treechildren::-moz-tree-cell-text(inprogress) { + color: #00bd00 !important; +} + .calendar-task-tree > treechildren::-moz-tree-row(inprogress, selected, focus) { background-color: green !important; } -.calendar-task-tree > treechildren::-moz-tree-cell-text(inprogress, selected, focus) { - color: HighlightText !important; +:root[lwt-tree-brighttext] .calendar-task-tree > treechildren::-moz-tree-row(inprogress, selected, focus) { + background-color: #00bd00 !important; } .calendar-task-tree > treechildren::-moz-tree-cell-text(overdue) { color: red !important; } +:root[lwt-tree-brighttext] .calendar-task-tree > treechildren::-moz-tree-cell-text(overdue) { + color: #ff7a7a !important; +} + .calendar-task-tree > treechildren::-moz-tree-row(overdue, selected, focus) { background-color: red !important; } -.calendar-task-tree > treechildren::-moz-tree-cell-text(overdue, selected, focus) { +:root[lwt-tree-brighttext] .calendar-task-tree > treechildren::-moz-tree-row(overdue, selected, focus) { + background-color: #ff7a7a !important; +} + +.calendar-task-tree > treechildren::-moz-tree-cell-text(inprogress, selected, focus), +:root[lwt-tree-brighttext] .calendar-task-tree > + treechildren::-moz-tree-cell-text(inprogress, selected, focus), +.calendar-task-tree > treechildren::-moz-tree-cell-text(overdue, selected, focus), +:root[lwt-tree-brighttext] .calendar-task-tree > + treechildren::-moz-tree-cell-text(overdue, selected, focus) { color: HighlightText !important; } @@ -65,13 +82,22 @@ margin-inline-start: -2px; } +:root[lwt-tree-brighttext] .calendar-task-tree > + treechildren::-moz-tree-image(calendar-task-tree-col-priority, highpriority) { + fill: #ff7a7a; +} + .calendar-task-tree > treechildren::-moz-tree-image(calendar-task-tree-col-priority, lowpriority) { list-style-image: url(chrome://calendar-common/skin/task-images.png); -moz-image-region: rect(0 26px 13px 13px); } .calendar-task-tree > treechildren::-moz-tree-image(calendar-task-tree-col-priority, selected, lowpriority) { - list-style-image: url(chrome://calendar-common/skin/task-images.png); + -moz-image-region: rect(0 39px 13px 26px); +} + +:root[lwt-tree-brighttext] .calendar-task-tree > + treechildren::-moz-tree-image(calendar-task-tree-col-priority, lowpriority) { -moz-image-region: rect(0 39px 13px 26px); } diff -Nru thunderbird-68.4.1/comm/calendar/base/themes/common/calendar-unifinder.css thunderbird-68.5.0/comm/calendar/base/themes/common/calendar-unifinder.css --- thunderbird-68.4.1/comm/calendar/base/themes/common/calendar-unifinder.css 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/themes/common/calendar-unifinder.css 2020-02-10 08:43:40.000000000 +0000 @@ -9,8 +9,7 @@ #unifinder-search-results-tree > treechildren::-moz-tree-cell-text(lowpriority) { font-style: italic; - color: GrayText !important; - background-color: -moz-field; + opacity: 0.6; } /* workaround to avoid Window Flick */ diff -Nru thunderbird-68.4.1/comm/calendar/base/themes/windows/calendar-task-tree.css thunderbird-68.5.0/comm/calendar/base/themes/windows/calendar-task-tree.css --- thunderbird-68.4.1/comm/calendar/base/themes/windows/calendar-task-tree.css 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/calendar/base/themes/windows/calendar-task-tree.css 2020-02-10 08:43:40.000000000 +0000 @@ -31,7 +31,12 @@ border-color: green !important; } - .calendar-task-tree > treechildren::-moz-tree-cell-text(inprogress, selected, focus) { + :root[lwt-tree-brighttext] .calendar-task-tree > treechildren::-moz-tree-row(inprogress, selected, focus) { + border-color: #00bd00 !important; + } + + .calendar-task-tree > treechildren::-moz-tree-cell-text(inprogress, selected, focus), + :root[lwt-tree-brighttext] .calendar-task-tree > treechildren::-moz-tree-cell-text(inprogress, selected, focus) { color: white !important; } @@ -39,7 +44,12 @@ border-color: red !important; } - .calendar-task-tree > treechildren::-moz-tree-cell-text(overdue, selected, focus) { + :root[lwt-tree-brighttext] .calendar-task-tree > treechildren::-moz-tree-row(overdue, selected, focus) { + border-color: #ff7a7a !important; + } + + .calendar-task-tree > treechildren::-moz-tree-cell-text(overdue, selected, focus), + :root[lwt-tree-brighttext] .calendar-task-tree > treechildren::-moz-tree-cell-text(overdue, selected, focus) { color: white !important; } diff -Nru thunderbird-68.4.1/comm/editor/ui/dialogs/content/EdInsSrc.xul thunderbird-68.5.0/comm/editor/ui/dialogs/content/EdInsSrc.xul --- thunderbird-68.4.1/comm/editor/ui/dialogs/content/EdInsSrc.xul 2020-01-09 03:30:22.000000000 +0000 +++ thunderbird-68.5.0/comm/editor/ui/dialogs/content/EdInsSrc.xul 2020-02-10 08:43:40.000000000 +0000 @@ -26,8 +26,8 @@