/* 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/. */ import { html } from "chrome://global/content/vendor/lit.all.mjs"; import { MozLitElement } from "chrome://global/content/lit-utils.mjs"; // eslint-disable-next-line import/no-unassigned-import import "chrome://global/content/elements/moz-message-bar.mjs"; const ERROR_L10N_ID = "backup-error-retry"; /** * The widget for disabling password protection if the backup is already * encrypted. */ export default class DisableBackupEncryption extends MozLitElement { static properties = { // managed by BackupUIChild disableEncryptionErrorCode: { type: Number }, }; static get queries() { return { cancelButtonEl: "#backup-disable-encryption-cancel-button", confirmButtonEl: "#backup-disable-encryption-confirm-button", errorEl: "#disable-backup-encryption-error", }; } constructor() { super(); this.disableEncryptionErrorCode = 0; } close() { this.dispatchEvent( new CustomEvent("dialogCancel", { bubbles: true, composed: true, }) ); this.reset(); } reset() { this.disableEncryptionErrorCode = 0; } handleConfirm() { this.dispatchEvent( new CustomEvent("BackupUI:DisableEncryption", { bubbles: true, }) ); } errorTemplate() { return html` `; } contentTemplate() { return html`

${this.disableEncryptionErrorCode ? this.errorTemplate() : null}
`; } render() { return html` ${this.contentTemplate()} `; } } customElements.define("disable-backup-encryption", DisableBackupEncryption);