зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1559549 - Add FAQ menuitem to the ellipsis menu in about:logins. ?jaws r=fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D35843 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
a4cce13895
Коммит
4d1a8ed239
|
@ -1744,7 +1744,8 @@ pref("signon.showAutoCompleteFooter", true);
|
|||
pref("signon.management.page.enabled", false);
|
||||
pref("signon.showAutoCompleteOrigins", true);
|
||||
pref("signon.includeOtherSubdomainsInLookup", true);
|
||||
pref("signon.feedbackURL",
|
||||
pref("signon.management.page.faqURL", "https://lockwise.firefox.com/faq.html");
|
||||
pref("signon.management.page.feedbackURL",
|
||||
"https://www.surveygizmo.com/s3/5036102/Lockwise-feedback?ver=%VERSION%");
|
||||
|
||||
// Enable the "Simplify Page" feature in Print Preview. This feature
|
||||
|
|
|
@ -89,6 +89,7 @@ let LEGACY_ACTORS = {
|
|||
"AboutLoginsDeleteLogin": {wantUntrusted: true},
|
||||
"AboutLoginsImport": {wantUntrusted: true},
|
||||
"AboutLoginsInit": {wantUntrusted: true},
|
||||
"AboutLoginsOpenFAQ": {wantUntrusted: true},
|
||||
"AboutLoginsOpenFeedback": {wantUntrusted: true},
|
||||
"AboutLoginsOpenPreferences": {wantUntrusted: true},
|
||||
"AboutLoginsOpenSite": {wantUntrusted: true},
|
||||
|
@ -583,6 +584,7 @@ const listeners = {
|
|||
"AboutLogins:CreateLogin": ["AboutLoginsParent"],
|
||||
"AboutLogins:DeleteLogin": ["AboutLoginsParent"],
|
||||
"AboutLogins:Import": ["AboutLoginsParent"],
|
||||
"AboutLogins:OpenFAQ": ["AboutLoginsParent"],
|
||||
"AboutLogins:OpenFeedback": ["AboutLoginsParent"],
|
||||
"AboutLogins:OpenPreferences": ["AboutLoginsParent"],
|
||||
"AboutLogins:OpenSite": ["AboutLoginsParent"],
|
||||
|
|
|
@ -42,14 +42,18 @@ class AboutLoginsChild extends ActorChild {
|
|||
this.mm.sendAsyncMessage("AboutLogins:DeleteLogin", {login: event.detail});
|
||||
break;
|
||||
}
|
||||
case "AboutLoginsOpenFeedback": {
|
||||
this.mm.sendAsyncMessage("AboutLogins:OpenFeedback");
|
||||
break;
|
||||
}
|
||||
case "AboutLoginsImport": {
|
||||
this.mm.sendAsyncMessage("AboutLogins:Import");
|
||||
break;
|
||||
}
|
||||
case "AboutLoginsOpenFAQ": {
|
||||
this.mm.sendAsyncMessage("AboutLogins:OpenFAQ");
|
||||
break;
|
||||
}
|
||||
case "AboutLoginsOpenFeedback": {
|
||||
this.mm.sendAsyncMessage("AboutLogins:OpenFeedback");
|
||||
break;
|
||||
}
|
||||
case "AboutLoginsOpenPreferences": {
|
||||
this.mm.sendAsyncMessage("AboutLogins:OpenPreferences");
|
||||
break;
|
||||
|
|
|
@ -29,9 +29,12 @@ const PRIVILEGEDABOUT_PROCESS_ENABLED =
|
|||
Services.prefs.getBoolPref(PRIVILEGEDABOUT_PROCESS_PREF, false);
|
||||
|
||||
|
||||
const FEEDBACK_URL_PREF = "signon.feedbackURL";
|
||||
const FEEDBACK_URL_PREF = "signon.management.page.feedbackURL";
|
||||
const FEEDBACK_URL = Services.urlFormatter.formatURLPref(FEEDBACK_URL_PREF);
|
||||
|
||||
const FAQ_URL_PREF = "signon.management.page.faqURL";
|
||||
const FAQ_URL = Services.prefs.getStringPref(FAQ_URL_PREF);
|
||||
|
||||
// When the privileged content process is enabled, we expect about:logins
|
||||
// to load in it. Otherwise, it's in a normal web content process.
|
||||
const EXPECTED_ABOUTLOGINS_REMOTE_TYPE =
|
||||
|
@ -113,6 +116,10 @@ var AboutLoginsParent = {
|
|||
message.target.ownerGlobal.openWebLinkIn(FEEDBACK_URL, "tab", {relatedToCurrent: true});
|
||||
break;
|
||||
}
|
||||
case "AboutLogins:OpenFAQ": {
|
||||
message.target.ownerGlobal.openWebLinkIn(FAQ_URL, "tab", {relatedToCurrent: true});
|
||||
break;
|
||||
}
|
||||
case "AboutLogins:OpenPreferences": {
|
||||
message.target.ownerGlobal.openPreferences("privacy-logins");
|
||||
break;
|
||||
|
|
|
@ -62,6 +62,7 @@ master-password-reload-button-accesskey = L
|
|||
|
||||
menu-button =
|
||||
.button-title = Open menu
|
||||
.menuitem-faq = Frequently Asked Questions
|
||||
.menuitem-feedback = Leave Feedback
|
||||
.menuitem-import = Import Passwords…
|
||||
.menuitem-preferences =
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
<button id="create-login-button" data-l10n-id="create-login-button"></button>
|
||||
<menu-button data-l10n-id="menu-button"
|
||||
data-l10n-attrs="button-title,
|
||||
menuitem-faq,
|
||||
menuitem-feedback,
|
||||
menuitem-import,
|
||||
menuitem-preferences"></menu-button>
|
||||
|
@ -150,6 +151,7 @@
|
|||
<button role="menuitem" class="menuitem-button menuitem-import alternate-button" hidden data-supported-platforms="Win32" data-event-name="AboutLoginsImport"></button>
|
||||
<button role="menuitem" class="menuitem-button menuitem-preferences alternate-button" data-event-name="AboutLoginsOpenPreferences"></button>
|
||||
<button role="menuitem" class="menuitem-button menuitem-feedback alternate-button" data-event-name="AboutLoginsOpenFeedback"></button>
|
||||
<button role="menuitem" class="menuitem-button menuitem-faq alternate-button" data-event-name="AboutLoginsOpenFAQ"></button>
|
||||
</ul>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -70,3 +70,7 @@
|
|||
.menuitem-feedback {
|
||||
background-image: url("chrome://browser/content/aboutlogins/icons/feedback.svg");
|
||||
}
|
||||
|
||||
.menuitem-faq {
|
||||
background-image: url("chrome://browser/content/aboutlogins/icons/faq.svg");
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ export default class MenuButton extends ReflectedFluentElement {
|
|||
static get reflectedFluentIDs() {
|
||||
return [
|
||||
"button-title",
|
||||
"menuitem-faq",
|
||||
"menuitem-import",
|
||||
"menuitem-feedback",
|
||||
"menuitem-preferences",
|
||||
|
@ -75,6 +76,7 @@ export default class MenuButton extends ReflectedFluentElement {
|
|||
}
|
||||
let classList = event.originalTarget.classList;
|
||||
if (classList.contains("menuitem-import") ||
|
||||
classList.contains("menuitem-faq") ||
|
||||
classList.contains("menuitem-feedback") ||
|
||||
classList.contains("menuitem-preferences")) {
|
||||
let eventName = event.originalTarget.dataset.eventName;
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
<!-- 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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="context-fill" fill-rule="evenodd" d="M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16zM8 2.719a2.925 2.925 0 0 0-3.115 3.114.948.948 0 1 0 1.896 0c0-1.083.65-1.218 1.219-1.218a1.197 1.197 0 0 1 1.224.806c.1.457-.142.92-.574 1.1a2.966 2.966 0 0 0-1.598 2.562v.365a.948.948 0 0 0 1.896 0v-.4c.048-.393.298-.732.66-.893a2.857 2.857 0 0 0 1.447-3.232A3.074 3.074 0 0 0 8 2.72zm0 8.26a1.354 1.354 0 1 0 0 2.708 1.354 1.354 0 0 0 0-2.708z"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 741 B |
|
@ -16,10 +16,11 @@ browser.jar:
|
|||
content/browser/aboutlogins/components/menu-button.css (content/components/menu-button.css)
|
||||
content/browser/aboutlogins/components/menu-button.js (content/components/menu-button.js)
|
||||
content/browser/aboutlogins/components/reflected-fluent-element.js (content/components/reflected-fluent-element.js)
|
||||
content/browser/aboutlogins/icons/delete.svg (content/icons/delete.svg)
|
||||
content/browser/aboutlogins/icons/edit.svg (content/icons/edit.svg)
|
||||
content/browser/aboutlogins/icons/favicon.svg (content/icons/favicon.svg)
|
||||
content/browser/aboutlogins/icons/feedback.svg (content/icons/feedback.svg)
|
||||
content/browser/aboutlogins/icons/delete.svg (content/icons/delete.svg)
|
||||
content/browser/aboutlogins/icons/edit.svg (content/icons/edit.svg)
|
||||
content/browser/aboutlogins/icons/faq.svg (content/icons/faq.svg)
|
||||
content/browser/aboutlogins/icons/favicon.svg (content/icons/favicon.svg)
|
||||
content/browser/aboutlogins/icons/feedback.svg (content/icons/feedback.svg)
|
||||
content/browser/aboutlogins/icons/hide-password.svg (content/icons/hide-password.svg)
|
||||
content/browser/aboutlogins/icons/show-password.svg (content/icons/show-password.svg)
|
||||
content/browser/aboutlogins/aboutLogins.css (content/aboutLogins.css)
|
||||
|
|
Загрузка…
Ссылка в новой задаче