diff -Nru firefox-trunk-62.0~a1~hg20180523r419449/accessible/tests/mochitest/states/a11y.ini firefox-trunk-62.0~a1~hg20180524r419659/accessible/tests/mochitest/states/a11y.ini --- firefox-trunk-62.0~a1~hg20180523r419449/accessible/tests/mochitest/states/a11y.ini 2018-05-23 11:27:04.000000000 +0000 +++ firefox-trunk-62.0~a1~hg20180524r419659/accessible/tests/mochitest/states/a11y.ini 2018-05-24 13:20:30.000000000 +0000 @@ -19,7 +19,6 @@ [test_controls.xul] [test_doc.html] [test_doc_busy.html] -skip-if = os == 'mac' && os_version == '10.6' [test_docarticle.html] [test_editablebody.html] [test_expandable.xul] diff -Nru firefox-trunk-62.0~a1~hg20180523r419449/browser/app/macversion.py firefox-trunk-62.0~a1~hg20180524r419659/browser/app/macversion.py --- firefox-trunk-62.0~a1~hg20180523r419449/browser/app/macversion.py 2018-05-23 11:27:05.000000000 +0000 +++ firefox-trunk-62.0~a1~hg20180524r419659/browser/app/macversion.py 2018-05-24 13:20:30.000000000 +0000 @@ -36,9 +36,9 @@ twodigityear = buildid[2:4] month = buildid[4:6] if month[0] == '0': - month = month[1] + month = month[1] day = buildid[6:8] if day[0] == '0': - day = day[1] + day = day[1] -print '%s.%s.%s' % (majorVersion + twodigityear, month, day) +print('%s.%s.%s' % (majorVersion + twodigityear, month, day)) diff -Nru firefox-trunk-62.0~a1~hg20180523r419449/browser/app/profile/firefox.js firefox-trunk-62.0~a1~hg20180524r419659/browser/app/profile/firefox.js --- firefox-trunk-62.0~a1~hg20180523r419449/browser/app/profile/firefox.js 2018-05-23 11:27:05.000000000 +0000 +++ firefox-trunk-62.0~a1~hg20180524r419659/browser/app/profile/firefox.js 2018-05-24 13:20:30.000000000 +0000 @@ -833,15 +833,6 @@ pref("browser.geolocation.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/geolocation/"); -pref("browser.EULA.version", 3); -pref("browser.rights.version", 3); -pref("browser.rights.3.shown", false); - -#ifdef DEBUG -// Don't show the about:rights notification in debug builds. -pref("browser.rights.override", true); -#endif - pref("browser.sessionstore.resume_from_crash", true); pref("browser.sessionstore.resume_session_once", false); pref("browser.sessionstore.resuming_after_os_restart", false); diff -Nru firefox-trunk-62.0~a1~hg20180523r419449/browser/base/content/abouthome/aboutHome.css firefox-trunk-62.0~a1~hg20180524r419659/browser/base/content/abouthome/aboutHome.css --- firefox-trunk-62.0~a1~hg20180523r419449/browser/base/content/abouthome/aboutHome.css 2018-05-23 11:27:05.000000000 +0000 +++ firefox-trunk-62.0~a1~hg20180524r419659/browser/base/content/abouthome/aboutHome.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,430 +0,0 @@ -%if 0 -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -%endif - -html { - font: message-box; - font-size: 100%; - background-color: #F9F9FA; - color: #0C0C0D; - height: 100%; -} - -body { - margin: 0; - display: -moz-box; - -moz-box-orient: vertical; - width: 100%; - height: 100%; -} - -input, -button { - font-size: inherit; - font-family: inherit; -} - -a { - color: -moz-nativehyperlinktext; - text-decoration: none; -} - -.spacer { - -moz-box-flex: 1; -} - -#topSection { - text-align: center; - margin-top: -90px; - position: relative; -} - -#brandLogo { - height: 192px; - width: 192px; - margin: 0 auto 20px; - background-image: url("chrome://branding/content/about-logo.png"); - background-size: 192px auto; - background-position: center center; - background-repeat: no-repeat; -} - -#searchWrapper, -#snippets { - width: 470px; -} - -#searchWrapper { - cursor: default; - display: flex; - position: relative; - margin: 0 auto; - height: 36px; -} - -#searchText { - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 3px; - box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1); - color: inherit; - padding: 0; - padding-inline-end: 36px; - padding-inline-start: 35px; - width: 100%; - font-size: 15px; -} - -#searchText:active, -#searchText:focus { - border-color: #0A84FF; - box-shadow: 0 0 0 2px #0A84FF; -} - -#searchIcon { - background: url("chrome://browser/skin/search-glass.svg") no-repeat 12px center/16px; - fill: rgba(12, 12, 13, 0.4); - -moz-context-properties: fill; - position: absolute; - offset-inline-start: 0; - height: 35px; - width: 35px; -} - -#searchSubmit { - background: url("chrome://browser/skin/forward.svg") no-repeat center center; - border-radius: 0 3px 3px 0; - border: 0; - width: 36px; - fill: rgba(12, 12, 13, 0.4); - -moz-context-properties: fill; - background-size: 16px 16px; - height: 100%; - offset-inline-end: 0; - position: absolute; - color: transparent; -} - -#searchSubmit:focus, #searchSubmit:hover { - background-color: rgba(12, 12, 13, 0.1); - cursor: pointer; -} - -#searchSubmit:active { - background-color: rgba(12, 12, 13, 0.15); -} - -#searchSubmit:dir(rtl) { - transform: scaleX(-1); -} - -.contentSearchSuggestionTable { - border: 0; - transform: translateY(2px); -} - -#defaultSnippet1, -#defaultSnippet2, -#rightsSnippet { - display: block; - min-height: 38px; - background: 0 center no-repeat; - padding: 6px 0; - padding-inline-start: 49px; -} - -#rightsSnippet[hidden] { - display: none; -} - -#defaultSnippet1:dir(rtl), -#defaultSnippet2:dir(rtl), -#rightsSnippet:dir(rtl) { - background-position: right 0 center; -} - -#defaultSnippet1 { - background-image: url("chrome://browser/content/abouthome/snippet1.png"); -} - -#defaultSnippet2 { - background-image: url("chrome://browser/content/abouthome/snippet2.png"); -} - -#snippets { - display: inline-block; - text-align: start; - margin: 12px 0; - color: #3c3c3c; - font-size: 75%; - /* 12px is the computed font size, 15px the computed line height of the snippets - with Segoe UI on a default Windows 7 setup. The 15/12 multiplier approximately - converts em from units of font-size to units of line-height. The goal is to - preset the height of a three-line snippet to avoid visual moving/flickering as - the snippets load. */ - min-height: calc(15/12 * 3em); -} - -#launcher { - display: none; - -moz-box-align: center; - -moz-box-pack: center; - width: 100%; - background-color: hsla(0,0%,0%,.03); - border-top: 1px solid hsla(0,0%,0%,.03); - box-shadow: 0 1px 2px hsla(0,0%,0%,.02) inset, - 0 -1px 0 hsla(0,0%,100%,.25); -} - -#launcher:not([session]), -body[narrow] #launcher[session] { - display: none; /* display separator and restore button on separate lines */ - text-align: center; - white-space: nowrap; /* prevent navigational buttons from wrapping */ -} - -.launchButton { - display: -moz-box; - -moz-box-orient: vertical; - margin: 16px 1px; - padding: 14px 6px; - min-width: 88px; - max-width: 176px; - max-height: 85px; - vertical-align: top; - white-space: normal; - background: transparent padding-box; - border: 1px solid transparent; - border-radius: 2px; - color: #525c66; - font-size: 75%; - cursor: pointer; - transition-property: background-color, border-color, box-shadow; - transition-duration: 150ms; -} - -body[narrow] #launcher[session] > .launchButton { - margin: 4px 1px; -} - -.launchButton:hover { - background-color: hsla(211,79%,6%,.03); - border-color: hsla(210,54%,20%,.15) hsla(210,54%,20%,.17) hsla(210,54%,20%,.2); -} - -.launchButton:hover:active { - background-image: linear-gradient(hsla(211,79%,6%,.02), hsla(211,79%,6%,.05)); - border-color: hsla(210,54%,20%,.2) hsla(210,54%,20%,.23) hsla(210,54%,20%,.25); - box-shadow: 0 1px 1px hsla(211,79%,6%,.05) inset, - 0 0 1px hsla(211,79%,6%,.1) inset; - transition-duration: 0ms; -} - -.launchButton[hidden], -#launcher:not([session]) > #restorePreviousSessionSeparator, -#launcher:not([session]) > #restorePreviousSession { - display: none; -} - -#restorePreviousSessionSeparator { - width: 3px; - height: 116px; - margin: 0 10px; - background-image: linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)), - linear-gradient(hsla(211,79%,6%,0), hsla(211,79%,6%,.2), hsla(211,79%,6%,0)), - linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)); - background-position: left top, center, right bottom; - background-size: 1px auto; - background-repeat: no-repeat; -} - -body[narrow] #restorePreviousSessionSeparator { - margin: 0 auto; - width: 512px; - height: 3px; - background-image: linear-gradient(to right, hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)), - linear-gradient(to right, hsla(211,79%,6%,0), hsla(211,79%,6%,.2), hsla(211,79%,6%,0)), - linear-gradient(to right, hsla(0,0%,100%,0), hsla(0,0%,100%,.35), hsla(0,0%,100%,0)); - background-size: auto 1px; -} - -#restorePreviousSession { - max-width: none; - font-size: 90%; -} - -body[narrow] #restorePreviousSession { - font-size: 80%; -} - -.launchButton::before { - display: block; - width: 32px; - height: 32px; - margin: 0 auto 6px; - line-height: 0; /* remove extra vertical space due to non-zero font-size */ -} - -#downloads::before { - content: url("chrome://browser/content/abouthome/downloads.png"); -} - -#bookmarks::before { - content: url("chrome://browser/content/abouthome/bookmarks.png"); -} - -#history::before { - content: url("chrome://browser/content/abouthome/history.png"); -} - -#addons::before { - content: url("chrome://browser/content/abouthome/addons.png"); -} - -#sync::before { - content: url("chrome://browser/content/abouthome/sync.png"); -} - -#settings::before { - content: url("chrome://browser/content/abouthome/settings.png"); -} - -#restorePreviousSession::before { - content: url("chrome://browser/content/abouthome/restore-large.png"); - height: 48px; - width: 48px; - display: inline-block; /* display on same line as text label */ - vertical-align: middle; - margin-bottom: 0; - margin-inline-end: 8px; -} - -#restorePreviousSession:dir(rtl)::before { - transform: scaleX(-1); -} - -body[narrow] #restorePreviousSession::before { - content: url("chrome://browser/content/abouthome/restore.png"); - height: 32px; - width: 32px; -} - -/* [HiDPI] - * At resolutions above 1dppx, prefer downscaling the 2x Retina graphics - * rather than upscaling the original-size ones (bug 818940). - */ -@media not all and (max-resolution: 1dppx) { - #brandLogo { - background-image: url("chrome://branding/content/about-logo@2x.png"); - } - - #defaultSnippet1, - #defaultSnippet2, - #rightsSnippet { - background-size: 40px; - } - - #defaultSnippet1 { - background-image: url("chrome://browser/content/abouthome/snippet1@2x.png"); - } - - #defaultSnippet2 { - background-image: url("chrome://browser/content/abouthome/snippet2@2x.png"); - } - - .launchButton::before { - transform: scale(.5); - transform-origin: 0 0; - } - - .launchButton:dir(rtl)::before { - transform: scale(.5) translateX(32px); - } - - #downloads::before { - content: url("chrome://browser/content/abouthome/downloads@2x.png"); - } - - #bookmarks::before { - content: url("chrome://browser/content/abouthome/bookmarks@2x.png"); - } - - #history::before { - content: url("chrome://browser/content/abouthome/history@2x.png"); - } - - #addons::before { - content: url("chrome://browser/content/abouthome/addons@2x.png"); - } - - #sync::before { - content: url("chrome://browser/content/abouthome/sync@2x.png"); - } - - #settings::before { - content: url("chrome://browser/content/abouthome/settings@2x.png"); - } - - #restorePreviousSession::before { - content: url("chrome://browser/content/abouthome/restore-large@2x.png"); - } - - body[narrow] #restorePreviousSession::before { - content: url("chrome://browser/content/abouthome/restore@2x.png"); - } - - #restorePreviousSession:dir(rtl)::before { - transform: scale(-0.5, 0.5) translateX(24px); - transform-origin: top center; - } -} - -/* Overrides for onboarding - These overrides hide the Firefox logo (since about:home has a - large logo already) and make the helper icon larger */ - -#about-home #onboarding-notification-body, -#about-home #onboarding-notification-tour-title { - color: #0C0C0D; -} - -#about-home #onboarding-notification-body { - padding-inline-start: 46px; -} - -#about-home #onboarding-notification-tour-message { - margin-bottom: 0; -} - -#about-home #onboarding-notification-tour-icon { - display: none; -} - -#about-home #onboarding-notification-tour-title::before { - display: block; - position: absolute; - top: 0; - offset-inline-start: 0; - height: 100%; - width: 42px; - background-size: 42px; - background-position: center; - -moz-context-properties: fill; - fill: #4A4A4F; -} - -#about-home #onboarding-notification-bar { - z-index: 100; -} - -/* Overrides for snippets - These changes make it so that snippets do not affect the height of the - main element, so that elements don't move around on page load. */ -#snippetContainer { - position: absolute; - left: 50%; - top: 100%; - margin-left: -235px; - width: 470px; -} diff -Nru firefox-trunk-62.0~a1~hg20180523r419449/browser/base/content/abouthome/aboutHome.js firefox-trunk-62.0~a1~hg20180524r419659/browser/base/content/abouthome/aboutHome.js --- firefox-trunk-62.0~a1~hg20180523r419449/browser/base/content/abouthome/aboutHome.js 2018-05-23 11:27:05.000000000 +0000 +++ firefox-trunk-62.0~a1~hg20180524r419659/browser/base/content/abouthome/aboutHome.js 1970-01-01 00:00:00.000000000 +0000 @@ -1,389 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -"use strict"; - -/* import-globals-from ../contentSearchUI.js */ - -// The process of adding a new default snippet involves: -// * add a new entity to aboutHome.dtd -// * add a for it in aboutHome.xhtml -// * add an entry here in the proper ordering (based on spans) -// The part of the snippet will be linked to the corresponding url. -const DEFAULT_SNIPPETS_URLS = [ - "https://www.mozilla.org/firefox/features/?utm_source=snippet&utm_medium=snippet&utm_campaign=default+feature+snippet", - "https://addons.mozilla.org/firefox/?utm_source=snippet&utm_medium=snippet&utm_campaign=addons" -]; - -const SNIPPETS_UPDATE_INTERVAL_MS = 14400000; // 4 hours. - -// IndexedDB storage constants. -const DATABASE_NAME = "abouthome"; -const DATABASE_VERSION = 1; -const DATABASE_STORAGE = "persistent"; -const SNIPPETS_OBJECTSTORE_NAME = "snippets"; -var searchText; - -// This global tracks if the page has been set up before, to prevent double inits -var gInitialized = false; -var gObserver = new MutationObserver(function(mutations) { - for (let mutation of mutations) { - // The addition of the restore session button changes our width: - if (mutation.attributeName == "session") { - fitToWidth(); - } - if (mutation.attributeName == "snippetsVersion") { - if (!gInitialized) { - ensureSnippetsMapThen(loadSnippets); - gInitialized = true; - } - return; - } - } -}); - -window.addEventListener("pageshow", function() { - // Delay search engine setup, cause browser.js::BrowserOnAboutPageLoad runs - // later and may use asynchronous getters. - window.gObserver.observe(document.documentElement, { attributes: true }); - fitToWidth(); - setupSearch(); - window.addEventListener("resize", fitToWidth); - - // Ask chrome to update snippets. - var event = new CustomEvent("AboutHomeLoad", {bubbles: true}); - document.dispatchEvent(event); -}); - -window.addEventListener("pagehide", function() { - window.gObserver.disconnect(); - window.removeEventListener("resize", fitToWidth); -}); - -window.addEventListener("keypress", ev => { - if (ev.defaultPrevented) { - return; - } - - // don't focus the search-box on keypress if something other than the - // body or document element has focus - don't want to steal input from other elements - // Make an exception for and