/* Copyright 2012 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { createPromiseCapability, PasswordResponses } from "pdfjs-lib"; /** * @typedef {Object} PasswordPromptOptions * @property {HTMLDialogElement} dialog - The overlay's DOM element. * @property {HTMLParagraphElement} label - Label containing instructions for * entering the password. * @property {HTMLInputElement} input - Input field for entering the password. * @property {HTMLButtonElement} submitButton - Button for submitting the * password. * @property {HTMLButtonElement} cancelButton - Button for cancelling password * entry. */ class PasswordPrompt { #activeCapability = null; #updateCallback = null; #reason = null; /** * @param {PasswordPromptOptions} options * @param {OverlayManager} overlayManager - Manager for the viewer overlays. * @param {IL10n} l10n - Localization service. * @param {boolean} [isViewerEmbedded] - If the viewer is embedded, in e.g. * an