зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 2 changesets (bug 1739390) for causing bc failures with unreferenced files. CLOSED TREE
Backed out changeset ef598c9dc54b (bug 1739390) Backed out changeset 7bcc1debc55f (bug 1739390)
This commit is contained in:
Родитель
39ccad2880
Коммит
aa0fe89c0e
|
@ -179,7 +179,7 @@ class AboutLoginsParent extends JSWindowActorParent {
|
|||
case "AboutLogins:GetHelp": {
|
||||
const SUPPORT_URL =
|
||||
Services.urlFormatter.formatURLPref("app.support.baseURL") +
|
||||
"password-manager-remember-delete-edit-logins";
|
||||
"firefox-lockwise";
|
||||
ownerGlobal.openWebLinkIn(SUPPORT_URL, "tab", {
|
||||
relatedToCurrent: true,
|
||||
});
|
||||
|
|
|
@ -10,8 +10,15 @@ body {
|
|||
body {
|
||||
--sidebar-width: 320px;
|
||||
display: grid;
|
||||
grid-template-columns: var(--sidebar-width) 1fr;
|
||||
grid-template-areas: "logins main";
|
||||
/* In a narrow window, the header may be too wide
|
||||
for a reduced size grid and expand outside of the grid.
|
||||
A minimum width is needed on the flexible column to
|
||||
give it a definite size so it will also expand outside
|
||||
of the grid if necessary, to match the header. */
|
||||
grid-template-columns: var(--sidebar-width) minmax(min-content, 1fr);
|
||||
grid-template-rows: 75px 1fr;
|
||||
grid-template-areas: "header header"
|
||||
"logins login";
|
||||
}
|
||||
|
||||
@media (max-width: 830px) {
|
||||
|
@ -22,11 +29,10 @@ body {
|
|||
|
||||
header {
|
||||
display: flex;
|
||||
grid-area: header;
|
||||
align-items: center;
|
||||
background-color: var(--in-content-page-background);
|
||||
border-bottom: 1px solid var(--in-content-border-color);
|
||||
padding-block: 9px;
|
||||
padding-inline-start: 16px;
|
||||
padding-inline-end: 23px;
|
||||
}
|
||||
|
||||
|
@ -58,16 +64,23 @@ login-item[data-editing="true"] + login-intro,
|
|||
display: none;
|
||||
}
|
||||
|
||||
|
||||
.heading-wrapper {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: var(--sidebar-width);
|
||||
font-weight: 600;
|
||||
login-intro,
|
||||
login-item {
|
||||
grid-area: login;
|
||||
}
|
||||
|
||||
body > section {
|
||||
grid-area: main;
|
||||
#branding-logo {
|
||||
flex-basis: var(--sidebar-width);
|
||||
flex-shrink: 0;
|
||||
height: 32px;
|
||||
-moz-context-properties: fill;
|
||||
fill: #20123a;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
#branding-logo {
|
||||
fill: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
:root:not(.official-branding) #branding-logo {
|
||||
|
@ -80,7 +93,7 @@ body > section {
|
|||
|
||||
.master-password-auth-required > body > header,
|
||||
.master-password-auth-required > body > login-list,
|
||||
.master-password-auth-required > body > section {
|
||||
.master-password-auth-required > body > login-intro {
|
||||
filter: blur(2px)
|
||||
}
|
||||
|
||||
|
|
|
@ -30,19 +30,18 @@
|
|||
<link rel="stylesheet" href="chrome://global/skin/in-content/common.css">
|
||||
<link rel="stylesheet" href="chrome://browser/content/aboutlogins/aboutLogins.css">
|
||||
<link rel="stylesheet" href="chrome://browser/content/aboutlogins/common.css">
|
||||
<link rel="icon" href="chrome://branding/content/icon32.png">
|
||||
<link rel="icon" href="chrome://browser/content/aboutlogins/icons/favicon.svg">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<img id="branding-logo" src="chrome://branding/content/aboutlogins.svg" alt=""/>
|
||||
<login-filter></login-filter>
|
||||
<fxaccounts-button hidden></fxaccounts-button>
|
||||
<menu-button></menu-button>
|
||||
</header>
|
||||
<login-list></login-list>
|
||||
<section>
|
||||
<header>
|
||||
<login-filter></login-filter>
|
||||
<fxaccounts-button hidden></fxaccounts-button>
|
||||
<menu-button></menu-button>
|
||||
</header>
|
||||
<login-item></login-item>
|
||||
<login-intro></login-intro>
|
||||
</section>
|
||||
<login-item></login-item>
|
||||
<login-intro></login-intro>
|
||||
<confirmation-dialog hidden></confirmation-dialog>
|
||||
<remove-logins-dialog hidden></remove-logins-dialog>
|
||||
<import-summary-dialog hidden></import-summary-dialog>
|
||||
|
@ -244,11 +243,11 @@
|
|||
<ul>
|
||||
<li data-l10n-id="login-intro-instructions-fxa"></li>
|
||||
<li data-l10n-id="login-intro-instructions-fxa-settings"></li>
|
||||
<li data-l10n-id="login-intro-instructions-fxa-passwords-help">
|
||||
<a data-l10n-name="passwords-help-link" class="intro-help-link" target="_blank" rel="noreferrer"></a>
|
||||
<li data-l10n-id="login-intro-instructions-fxa-help">
|
||||
<a data-l10n-name="help-link" class="intro-help-link" target="_blank" rel="noreferrer"></a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="description intro-import-text no-file-import" hidden data-l10n-id="about-logins-intro-browser-only-import">
|
||||
<p class="description intro-import-text no-file-import" hidden data-l10n-id="about-logins-intro-import">
|
||||
<a data-l10n-name="import-link" href="#"></a>
|
||||
</p>
|
||||
<p class="description intro-import-text file-import" hidden data-l10n-id="about-logins-intro-import2">
|
||||
|
|
|
@ -9,10 +9,8 @@
|
|||
grid-column: logins/login;
|
||||
}
|
||||
|
||||
.import-report-heading {
|
||||
font-weight: 600;
|
||||
#branding-logo {
|
||||
margin-block: auto;
|
||||
margin-inline-start: 48px;
|
||||
}
|
||||
|
||||
.summary {
|
||||
|
|
|
@ -18,9 +18,13 @@
|
|||
<link rel="stylesheet" href="chrome://browser/content/aboutlogins/aboutLogins.css">
|
||||
<link rel="stylesheet" href="chrome://browser/content/aboutlogins/aboutLoginsImportReport.css">
|
||||
<link rel="stylesheet" href="chrome://browser/content/aboutlogins/common.css">
|
||||
<link rel="icon" href="chrome://branding/content/icon32.png">
|
||||
<link rel="icon" href="chrome://browser/content/aboutlogins/icons/favicon.svg">
|
||||
</head>
|
||||
<body class="importreport">
|
||||
<header>
|
||||
<img id="branding-logo" src="chrome://branding/content/aboutlogins.svg" alt=""/>
|
||||
</header>
|
||||
|
||||
<section id="report-body">
|
||||
<div class="summary">
|
||||
<h2 data-l10n-id="about-logins-import-report-title"></h2>
|
||||
|
|
|
@ -49,9 +49,9 @@ export default class LoginIntro extends HTMLElement {
|
|||
this.shadowRoot
|
||||
.querySelector(".illustration")
|
||||
.classList.toggle("logged-in", syncState.loggedIn);
|
||||
|
||||
let supportURL =
|
||||
window.AboutLoginsUtils.supportBaseURL +
|
||||
"password-manager-remember-delete-edit-logins";
|
||||
window.AboutLoginsUtils.supportBaseURL + "firefox-lockwise";
|
||||
this.shadowRoot
|
||||
.querySelector(".intro-help-link")
|
||||
.setAttribute("href", supportURL);
|
||||
|
|
|
@ -62,7 +62,7 @@ add_task(async function test_no_logins_class() {
|
|||
ok(
|
||||
loginIntro.shadowRoot
|
||||
.querySelector("a.intro-help-link")
|
||||
.href.includes("password-manager-remember-delete-edit-logins"),
|
||||
.href.includes("lockwise"),
|
||||
"Check support href populated"
|
||||
);
|
||||
|
||||
|
|
|
@ -14,8 +14,7 @@ add_task(async function setup() {
|
|||
add_task(async function test_open_feedback() {
|
||||
const menuArray = [
|
||||
{
|
||||
urlFinal:
|
||||
"https://example.com/password-manager-remember-delete-edit-logins",
|
||||
urlFinal: "https://example.com/firefox-lockwise",
|
||||
urlBase: "https://example.com/",
|
||||
pref: "app.support.baseURL",
|
||||
selector: ".menuitem-help",
|
||||
|
|
|
@ -74,7 +74,7 @@ export default class LockwiseCard {
|
|||
if (hasLogins) {
|
||||
lockwiseCard.classList.remove("no-logins");
|
||||
lockwiseCard.classList.add("has-logins");
|
||||
title.setAttribute("data-l10n-id", "passwords-title-logged-in");
|
||||
title.setAttribute("data-l10n-id", "lockwise-title-logged-in2");
|
||||
headerContent.setAttribute(
|
||||
"data-l10n-id",
|
||||
"lockwise-header-content-logged-in"
|
||||
|
@ -84,7 +84,7 @@ export default class LockwiseCard {
|
|||
lockwiseCard.classList.remove("has-logins");
|
||||
lockwiseCard.classList.add("no-logins");
|
||||
title.setAttribute("data-l10n-id", "lockwise-title");
|
||||
headerContent.setAttribute("data-l10n-id", "passwords-header-content");
|
||||
headerContent.setAttribute("data-l10n-id", "lockwise-header-content");
|
||||
}
|
||||
|
||||
const lockwiseUI = document.querySelector(".card.lockwise-card.loading");
|
||||
|
|
|
@ -244,10 +244,10 @@
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Markup for passwords card. -->
|
||||
<!-- Markup for Lockwise card. -->
|
||||
<section class="card card-no-hover lockwise-card hidden">
|
||||
<div class="card-header">
|
||||
<span></span>
|
||||
<img class="icon" src="chrome://browser/content/logos/lockwise.svg"/>
|
||||
<div class="wrapper">
|
||||
<div>
|
||||
<h2 id="lockwise-title" class="card-title">
|
||||
|
@ -260,14 +260,14 @@
|
|||
<a target="_blank" id="lockwise-how-it-works" data-l10n-id="lockwise-how-it-works-link" href=""></a>
|
||||
</p>
|
||||
</div>
|
||||
<button id="save-passwords-button" class="primary" data-l10n-id="protection-report-passwords-save-passwords-button"></button>
|
||||
<button id="save-passwords-button" class="primary" data-l10n-id="protection-report-save-passwords-button"></button>
|
||||
<div class="lockwise-scanned-wrapper">
|
||||
<img id="lockwise-scanned-icon" />
|
||||
<span id="lockwise-scanned-text" class="content">
|
||||
<!-- Display message for stored logins here. -->
|
||||
</span>
|
||||
</div>
|
||||
<button id="manage-passwords-button" class="primary" data-l10n-id="protection-report-passwords-manage-passwords-button"></button>
|
||||
<button id="manage-passwords-button" class="primary" data-l10n-id="protection-report-manage-passwords-button"></button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="card-body hidden">
|
||||
|
|
|
@ -28,6 +28,13 @@ add_task(async function testNoLoginsLockwiseCardUI() {
|
|||
return ContentTaskUtils.is_visible(lockwiseCard);
|
||||
}, "Lockwise card for user with no logins is visible.");
|
||||
|
||||
const lockwiseTitle = content.document.querySelector("#lockwise-title");
|
||||
is(
|
||||
lockwiseTitle.textContent,
|
||||
"Never forget a password again",
|
||||
"Correct lockwise title is shown"
|
||||
);
|
||||
|
||||
const lockwiseHowItWorks = content.document.querySelector(
|
||||
"#lockwise-how-it-works"
|
||||
);
|
||||
|
@ -36,14 +43,14 @@ add_task(async function testNoLoginsLockwiseCardUI() {
|
|||
"How it works link is hidden"
|
||||
);
|
||||
|
||||
const lockwiseHeaderContent = content.document.querySelector(
|
||||
const lockwiseHeaderString = content.document.querySelector(
|
||||
"#lockwise-header-content span"
|
||||
);
|
||||
await content.document.l10n.translateElements([lockwiseHeaderContent]);
|
||||
is(
|
||||
lockwiseHeaderContent.dataset.l10nId,
|
||||
"passwords-header-content",
|
||||
"lockwiseHeaderContent contents should match l10n-id attribute set on the element"
|
||||
).textContent;
|
||||
ok(
|
||||
lockwiseHeaderString.includes(
|
||||
"Firefox Lockwise securely stores your passwords in your browser"
|
||||
),
|
||||
"Correct lockwise header string is shown"
|
||||
);
|
||||
|
||||
const lockwiseScannedWrapper = content.document.querySelector(
|
||||
|
@ -103,15 +110,14 @@ add_task(async function testLockwiseCardUIWithLogins() {
|
|||
}, "Lockwise card for user with logins is visible");
|
||||
|
||||
const lockwiseTitle = content.document.querySelector("#lockwise-title");
|
||||
await content.document.l10n.translateElements([lockwiseTitle]);
|
||||
await ContentTaskUtils.waitForCondition(
|
||||
() => lockwiseTitle.textContent == "Manage your passwords",
|
||||
() => lockwiseTitle.textContent == "Password Management",
|
||||
"Waiting for Fluent to provide the title translation"
|
||||
);
|
||||
is(
|
||||
lockwiseTitle.textContent,
|
||||
"Manage your passwords",
|
||||
"Correct passwords title is shown"
|
||||
"Password Management",
|
||||
"Correct lockwise title is shown"
|
||||
);
|
||||
|
||||
const lockwiseHowItWorks = content.document.querySelector(
|
||||
|
@ -122,14 +128,14 @@ add_task(async function testLockwiseCardUIWithLogins() {
|
|||
"How it works link is visible"
|
||||
);
|
||||
|
||||
const lockwiseHeaderContent = content.document.querySelector(
|
||||
const lockwiseHeaderString = content.document.querySelector(
|
||||
"#lockwise-header-content span"
|
||||
);
|
||||
await content.document.l10n.translateElements([lockwiseHeaderContent]);
|
||||
is(
|
||||
lockwiseHeaderContent.dataset.l10nId,
|
||||
"lockwise-header-content-logged-in",
|
||||
"lockwiseHeaderContent contents should match l10n-id attribute set on the element"
|
||||
).textContent;
|
||||
ok(
|
||||
lockwiseHeaderString.includes(
|
||||
"Securely store and sync your passwords to all your devices"
|
||||
),
|
||||
"Correct lockwise header string is shown"
|
||||
);
|
||||
|
||||
const lockwiseScannedWrapper = content.document.querySelector(
|
||||
|
|
|
@ -73,8 +73,8 @@ about-logins-login-intro-heading-logged-in = No synced logins found.
|
|||
login-intro-description = If you saved your logins to { -brand-product-name } on a different device, here’s how to get them here:
|
||||
login-intro-instructions-fxa = Create or sign in to your { -fxaccount-brand-name(capitalization: "sentence") } on the device where your logins are saved.
|
||||
login-intro-instructions-fxa-settings = Go to Settings > Sync > Turn on syncing… Select the Logins and passwords checkbox.
|
||||
login-intro-instructions-fxa-passwords-help = Visit <a data-l10n-name="passwords-help-link">passwords support</a> for more help.
|
||||
about-logins-intro-browser-only-import = If your logins are saved in another browser, you can <a data-l10n-name="import-link">import them into { -brand-product-name }</a>
|
||||
login-intro-instructions-fxa-help = Visit <a data-l10n-name="help-link">{ -lockwise-brand-short-name } Support</a> for more help.
|
||||
about-logins-intro-import = If your logins are saved in another browser, you can <a data-l10n-name="import-link">import them into { -lockwise-brand-short-name }</a>
|
||||
about-logins-intro-import2 = If your logins are saved outside of { -brand-product-name }, you can <a data-l10n-name="import-browser-link">import them from another browser</a> or <a data-l10n-name="import-file-link">from a file</a>
|
||||
|
||||
## Login
|
||||
|
|
|
@ -71,14 +71,16 @@ mobile-app-card-content = Use the mobile browser with built-in protection agains
|
|||
mobile-app-links = { -brand-product-name } Browser for <a data-l10n-name="android-mobile-inline-link">Android</a> and <a data-l10n-name="ios-mobile-inline-link">iOS</a>
|
||||
|
||||
lockwise-title = Never forget a password again
|
||||
passwords-title-logged-in = Manage your passwords
|
||||
passwords-header-content = { -brand-product-name } securely stores your passwords in your browser.
|
||||
lockwise-title-logged-in2 = Password Management
|
||||
lockwise-header-content = { -lockwise-brand-name } securely stores your passwords in your browser.
|
||||
lockwise-header-content-logged-in = Securely store and sync your passwords to all your devices.
|
||||
protection-report-passwords-save-passwords-button = Save Passwords
|
||||
.title = Save Passwords
|
||||
protection-report-passwords-manage-passwords-button = Manage Passwords
|
||||
.title = Manage Passwords
|
||||
|
||||
protection-report-save-passwords-button = Save Passwords
|
||||
.title = Save Passwords on { -lockwise-brand-short-name }
|
||||
protection-report-manage-passwords-button = Manage Passwords
|
||||
.title = Manage Passwords on { -lockwise-brand-short-name }
|
||||
lockwise-mobile-app-title = Take your passwords everywhere
|
||||
lockwise-no-logins-card-content = Use passwords saved in { -brand-short-name } on any device.
|
||||
lockwise-app-links = { -lockwise-brand-name } for <a data-l10n-name="lockwise-android-inline-link">Android</a> and <a data-l10n-name="lockwise-ios-inline-link">iOS</a>
|
||||
|
||||
# Variables:
|
||||
# $count (Number) - Number of passwords exposed in data breaches.
|
||||
|
|
Загрузка…
Ссылка в новой задаче