summaryrefslogtreecommitdiffstats
path: root/browser/components/screenshots/content/screenshots.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:37 +0000
commita90a5cba08fdf6c0ceb95101c275108a152a3aed (patch)
tree532507288f3defd7f4dcf1af49698bcb76034855 /browser/components/screenshots/content/screenshots.js
parentAdding debian version 126.0.1-1. (diff)
downloadfirefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.tar.xz
firefox-a90a5cba08fdf6c0ceb95101c275108a152a3aed.zip
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/screenshots/content/screenshots.js')
-rw-r--r--browser/components/screenshots/content/screenshots.js185
1 files changed, 0 insertions, 185 deletions
diff --git a/browser/components/screenshots/content/screenshots.js b/browser/components/screenshots/content/screenshots.js
deleted file mode 100644
index 8159206d18..0000000000
--- a/browser/components/screenshots/content/screenshots.js
+++ /dev/null
@@ -1,185 +0,0 @@
-/* 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/. */
-/* eslint-env mozilla/browser-window */
-
-"use strict";
-
-ChromeUtils.defineESModuleGetters(this, {
- AppConstants: "resource://gre/modules/AppConstants.sys.mjs",
- ScreenshotsUtils: "resource:///modules/ScreenshotsUtils.sys.mjs",
- ShortcutUtils: "resource://gre/modules/ShortcutUtils.sys.mjs",
-});
-
-const lazy = {};
-
-ChromeUtils.defineLazyGetter(lazy, "screenshotsLocalization", () => {
- return new Localization(["browser/screenshots.ftl"], true);
-});
-
-class ScreenshotsPreview extends HTMLElement {
- constructor() {
- super();
- // we get passed the <browser> as a param via TabDialogBox.open()
- this.openerBrowser = window.arguments[0];
-
- window.ensureCustomElements("moz-button");
-
- let [downloadKey, copyKey] =
- lazy.screenshotsLocalization.formatMessagesSync([
- { id: "screenshots-component-download-key" },
- { id: "screenshots-component-copy-key" },
- ]);
-
- this.downloadKey = downloadKey.value;
- this.copyKey = copyKey.value;
- }
-
- async connectedCallback() {
- this.initialize();
- }
-
- initialize() {
- if (this._initialized) {
- return;
- }
- this._initialized = true;
- let template = this.ownerDocument.getElementById(
- "screenshots-dialog-template"
- );
- let templateContent = template.content;
- this.appendChild(templateContent.cloneNode(true));
-
- this._retryButton = this.querySelector("#retry");
- this._retryButton.addEventListener("click", this);
- this._cancelButton = this.querySelector("#cancel");
- this._cancelButton.addEventListener("click", this);
- this._copyButton = this.querySelector("#copy");
- this._copyButton.addEventListener("click", this);
- this._downloadButton = this.querySelector("#download");
- this._downloadButton.addEventListener("click", this);
-
- let accelString = ShortcutUtils.getModifierString("accel");
- let copyShorcut = accelString + this.copyKey;
- let downloadShortcut = accelString + this.downloadKey;
-
- document.l10n.setAttributes(
- this._cancelButton,
- "screenshots-component-cancel-button"
- );
-
- document.l10n.setAttributes(
- this._copyButton,
- "screenshots-component-copy-button",
- { shortcut: copyShorcut }
- );
-
- document.l10n.setAttributes(
- this._downloadButton,
- "screenshots-component-download-button",
- { shortcut: downloadShortcut }
- );
-
- window.addEventListener("keydown", this, true);
- }
-
- close() {
- URL.revokeObjectURL(document.getElementById("placeholder-image").src);
- window.close();
- }
-
- handleEvent(event) {
- switch (event.type) {
- case "click":
- this.handleClick(event);
- break;
- case "keydown":
- this.handleKeydown(event);
- break;
- }
- }
-
- handleClick(event) {
- switch (event.target.id) {
- case "retry":
- ScreenshotsUtils.scheduleRetry(this.openerBrowser, "preview_retry");
- this.close();
- break;
- case "cancel":
- this.close();
- ScreenshotsUtils.recordTelemetryEvent("canceled", "preview_cancel", {});
- break;
- case "copy":
- this.saveToClipboard(
- this.ownerDocument.getElementById("placeholder-image").src
- );
- break;
- case "download":
- this.saveToFile(
- this.ownerDocument.getElementById("placeholder-image").src
- );
- break;
- }
- }
-
- handleKeydown(event) {
- switch (event.key) {
- case this.copyKey.toLowerCase():
- if (this.getAccelKey(event)) {
- event.preventDefault();
- event.stopPropagation();
- this.saveToClipboard(
- this.ownerDocument.getElementById("placeholder-image").src
- );
- }
- break;
- case this.downloadKey.toLowerCase():
- if (this.getAccelKey(event)) {
- event.preventDefault();
- event.stopPropagation();
- this.saveToFile(
- this.ownerDocument.getElementById("placeholder-image").src
- );
- }
- break;
- }
- }
-
- getAccelKey(event) {
- if (AppConstants.platform === "macosx") {
- return event.metaKey;
- }
- return event.ctrlKey;
- }
-
- async saveToFile(dataUrl) {
- await ScreenshotsUtils.downloadScreenshot(
- null,
- dataUrl,
- this.openerBrowser,
- { object: "preview_download" }
- );
- this.close();
- }
-
- async saveToClipboard(dataUrl) {
- await ScreenshotsUtils.copyScreenshot(dataUrl, this.openerBrowser, {
- object: "preview_copy",
- });
- this.close();
- }
-
- /**
- * Set the focus to the most recent saved method.
- * This will default to the download button.
- * @param {String} buttonToFocus
- */
- focusButton(buttonToFocus) {
- if (buttonToFocus === "copy") {
- this._copyButton.focus({ focusVisible: true });
- } else {
- this._downloadButton.focus({ focusVisible: true });
- }
- }
-}
-customElements.define("screenshots-preview", ScreenshotsPreview);