diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index b38df8376bd2..2f8df362de18 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -1759,9 +1759,19 @@ pref("app.shield.optoutstudies.enabled", false); pref("intl.multilingual.enabled", false); // Prio preferences +// Only enable by default on Nightly. +// On platforms that do not build libprio, do not set these prefs at all, which gives us a way to detect support. + // Curve25519 public keys for Prio servers +#ifdef MOZ_LIBPRIO pref("prio.publicKeyA", "35AC1C7576C7C6EDD7FED6BCFC337B34D48CB4EE45C86BEEFB40BD8875707733"); pref("prio.publicKeyB", "26E6674E65425B823F1F1D5F96E3BB3EF9E406EC7FBA7DEF8B08A35DD135AF50"); +#endif + +// Whether or not Prio-encoded Telemetry will be sent along with the main ping. +#if defined(NIGHTLY_BUILD) && defined(MOZ_LIBPRIO) +pref("prio.enabled", true); +#endif #ifdef NIGHTLY_BUILD pref("browser.fastblock.enabled", true); diff --git a/browser/base/content/test/siteIdentity/browser.ini b/browser/base/content/test/siteIdentity/browser.ini index d8ddbaeca8f7..346503d052e9 100644 --- a/browser/base/content/test/siteIdentity/browser.ini +++ b/browser/base/content/test/siteIdentity/browser.ini @@ -55,7 +55,6 @@ support-files = !/toolkit/components/passwordmgr/test/browser/insecure_test.html !/toolkit/components/passwordmgr/test/browser/insecure_test_subframe.html [browser_mcb_redirect.js] -skip-if = (verify && !debug && os == 'mac') || (os == 'linux') || (os == 'mac') # Bug 1376771 tags = mcb support-files = test_mcb_redirect.html diff --git a/browser/base/content/test/siteIdentity/browser_mcb_redirect.js b/browser/base/content/test/siteIdentity/browser_mcb_redirect.js index 9bfc072b29ea..8ecaa21e048d 100644 --- a/browser/base/content/test/siteIdentity/browser_mcb_redirect.js +++ b/browser/base/content/test/siteIdentity/browser_mcb_redirect.js @@ -91,16 +91,16 @@ function test1() { Services.prefs.setBoolPref(PREF_INSECURE_ICON, false); var url = HTTPS_TEST_ROOT + "test_mcb_redirect.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkUIForTest1); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkUIForTest1); } function testInsecure1() { Services.prefs.setBoolPref(PREF_INSECURE_ICON, true); var url = HTTPS_TEST_ROOT + "test_mcb_redirect.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkUIForTest1); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkUIForTest1); } async function checkUIForTest1() { @@ -118,8 +118,8 @@ async function checkUIForTest1() { function test2() { var url = HTTP_TEST_ROOT + "test_mcb_redirect.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkUIForTest2); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkUIForTest2); } async function checkUIForTest2() { @@ -138,8 +138,8 @@ async function checkUIForTest2() { function test3() { info("test3"); var url = HTTPS_TEST_ROOT + "test_mcb_redirect_image.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkLoadEventForTest3); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkLoadEventForTest3); } function checkLoadEventForTest3() { @@ -156,8 +156,8 @@ function checkLoadEventForTest3() { function test4() { info("test4"); var url = HTTP_TEST_ROOT + "test_mcb_redirect_image.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkLoadEventForTest4); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkLoadEventForTest4); } function checkLoadEventForTest4() { @@ -179,8 +179,8 @@ function test5() { info("test5"); Services.io.offline = true; var url = HTTP_TEST_ROOT + "test_mcb_redirect_image.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkLoadEventForTest5); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkLoadEventForTest5); } function checkLoadEventForTest5() { @@ -206,8 +206,8 @@ function test6() { info("test6"); Services.io.offline = true; var url = HTTPS_TEST_ROOT + "test_mcb_redirect_image.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkLoadEventForTest6); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkLoadEventForTest6); } function checkLoadEventForTest6() { @@ -227,8 +227,8 @@ function checkLoadEventForTest6() { // HTTP page loading insecure image that went through a double redirect function test7() { var url = HTTP_TEST_ROOT + "test_mcb_double_redirect_image.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkLoadEventForTest7); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkLoadEventForTest7); } function checkLoadEventForTest7() { @@ -249,8 +249,8 @@ function test8() { // Go into offline mode Services.io.offline = true; var url = HTTP_TEST_ROOT + "test_mcb_double_redirect_image.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkLoadEventForTest8); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkLoadEventForTest8); } function checkLoadEventForTest8() { @@ -275,8 +275,8 @@ function test9() { // Go into offline mode Services.io.offline = true; var url = HTTPS_TEST_ROOT + "test_mcb_double_redirect_image.html"; + BrowserTestUtils.browserLoaded(gTestBrowser, false, url).then(checkLoadEventForTest9); BrowserTestUtils.loadURI(gTestBrowser, url); - BrowserTestUtils.browserLoaded(gTestBrowser).then(checkLoadEventForTest9); } function checkLoadEventForTest9() { diff --git a/browser/components/payments/res/containers/completion-error-page.js b/browser/components/payments/res/containers/completion-error-page.js index 0c379402da29..ec54ad7db622 100644 --- a/browser/components/payments/res/containers/completion-error-page.js +++ b/browser/components/payments/res/containers/completion-error-page.js @@ -26,6 +26,10 @@ export default class CompletionErrorPage extends PaymentStateSubscriberMixin(Pay this.suggestions = []; this.body.append(this.suggestionsList); + this.brandingSpan = document.createElement("span"); + this.brandingSpan.classList.add("branding"); + this.footer.appendChild(this.brandingSpan); + this.doneButton = document.createElement("button"); this.doneButton.classList.add("done-button", "primary"); this.doneButton.addEventListener("click", this); @@ -51,6 +55,7 @@ export default class CompletionErrorPage extends PaymentStateSubscriberMixin(Pay this.pageTitleHeading.textContent = this.dataset.pageTitle; this.suggestionHeading.textContent = this.dataset.suggestionHeading; + this.brandingSpan.textContent = this.dataset.brandingLabel; this.doneButton.textContent = this.dataset.doneButtonLabel; this.suggestionsList.textContent = ""; diff --git a/browser/components/payments/res/containers/error-page.css b/browser/components/payments/res/containers/error-page.css index e950f0a9dcee..ba47b9a0dcc5 100644 --- a/browser/components/payments/res/containers/error-page.css +++ b/browser/components/payments/res/containers/error-page.css @@ -1,9 +1,11 @@ .error-page.illustrated > .page-body { - min-height: 300px; + display: flex; + justify-content: center; + min-height: 160px; background-position: left center; background-repeat: no-repeat; - background-size: 38%; - padding-inline-start: 38%; + background-size: 160px; + padding-inline-start: 160px; } .error-page.illustrated > .page-body:dir(rtl) { @@ -14,6 +16,17 @@ background: none; padding-inline-start: 0; margin-inline-start: 0; + font-weight: lighter; + font-size: 2rem; +} + +.error-page.illustrated > .page-body > p { + margin-top: 0; + margin-bottom: 0; +} + +.error-page.illustrated > .page-body > ul { + margin-top: .5rem; } .error-page#completion-timeout-error > .page-body { diff --git a/browser/components/payments/res/debugging.js b/browser/components/payments/res/debugging.js index 26b15c64a2f4..a15196ddd826 100644 --- a/browser/components/payments/res/debugging.js +++ b/browser/components/payments/res/debugging.js @@ -37,7 +37,7 @@ const paymentOptionsUpdater = { let REQUEST_1 = { tabId: 9, - topLevelPrincipal: {URI: {displayHost: "tschaeff.github.io"}}, + topLevelPrincipal: {URI: {displayHost: "debugging.example.com"}}, requestId: "3797081f-a96b-c34b-a58b-1083c6e66e25", completeStatus: "", paymentMethods: [], diff --git a/browser/components/payments/res/paymentRequest.css b/browser/components/payments/res/paymentRequest.css index e6bc4ffd15d6..991927260b9d 100644 --- a/browser/components/payments/res/paymentRequest.css +++ b/browser/components/payments/res/paymentRequest.css @@ -159,10 +159,6 @@ payment-dialog[changes-prevented][complete-status="success"] #pay { z-index: 1; } -#cancel { - margin-inline-start: auto; -} - #disabled-overlay { background: white; grid-area: disabled-overlay; @@ -176,15 +172,16 @@ payment-dialog[changes-prevented][complete-status="success"] #pay { left: 0; } -#branding { +.branding { background-image: url(chrome://branding/content/icon32.png); background-size: 16px; background-repeat: no-repeat; background-position: left center; padding-inline-start: 20px; line-height: 20px; + margin-inline-end: auto; } -body[dir="rtl"] #branding { +body[dir="rtl"] .branding { background-position: right center; } diff --git a/browser/components/payments/res/paymentRequest.xhtml b/browser/components/payments/res/paymentRequest.xhtml index cf3a4ff1bdf2..6ebcc4169260 100644 --- a/browser/components/payments/res/paymentRequest.xhtml +++ b/browser/components/payments/res/paymentRequest.xhtml @@ -154,7 +154,7 @@