summaryrefslogtreecommitdiffstats
path: root/browser/components/screenshots/content
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
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')
-rw-r--r--browser/components/screenshots/content/screenshots.css79
-rw-r--r--browser/components/screenshots/content/screenshots.html70
-rw-r--r--browser/components/screenshots/content/screenshots.js185
3 files changed, 0 insertions, 334 deletions
diff --git a/browser/components/screenshots/content/screenshots.css b/browser/components/screenshots/content/screenshots.css
deleted file mode 100644
index b155c294f8..0000000000
--- a/browser/components/screenshots/content/screenshots.css
+++ /dev/null
@@ -1,79 +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/. */
-
-html,
-body {
- height: 100vh;
- width: 100vw;
-}
-
-.image-view {
- width: 100%;
- height: 100%;
- display: flex;
- flex-direction: column;
-}
-
-.preview-buttons {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- width: 100%;
- border: 0;
- box-sizing: border-box;
- margin: 4px 0;
- margin-inline-start: calc(-2% + 4px);
-}
-
-.preview-button {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: var(--space-xsmall);
- cursor: pointer;
- text-align: center;
- user-select: none;
- white-space: nowrap;
- min-width: 32px;
-}
-
-.preview-button > img {
- -moz-context-properties: fill;
- fill: currentColor;
- width: 16px;
- height: 16px;
- pointer-events: none;
-}
-
-#retry > img {
- content: url("chrome://global/skin/icons/reload.svg");
-}
-
-#cancel > img {
- content: url("chrome://global/skin/icons/close.svg");
-}
-
-#copy > img {
- content: url("chrome://global/skin/icons/edit-copy.svg");
-}
-
-#download > img {
- content: url("chrome://browser/skin/downloads/downloads.svg");
-}
-
-.preview-image {
- height: 100%;
- width: 100%;
- overflow: auto;
-}
-
-#preview-image-div {
- margin: 2%;
- margin-top: 0;
-}
-
-#placeholder-image {
- width: 100%;
- height: 100%;
-}
diff --git a/browser/components/screenshots/content/screenshots.html b/browser/components/screenshots/content/screenshots.html
deleted file mode 100644
index fea032700c..0000000000
--- a/browser/components/screenshots/content/screenshots.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<!-- 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/. -->
-<html>
- <head>
- <meta charset="utf-8" />
- <title></title>
- <meta
- http-equiv="Content-Security-Policy"
- content="default-src chrome:;img-src data:; object-src 'none'"
- />
-
- <link rel="localization" href="browser/screenshots.ftl" />
-
- <link rel="stylesheet" href="chrome://global/skin/in-content/common.css" />
- <link
- rel="stylesheet"
- href="chrome://browser/content/screenshots/screenshots.css"
- />
- <script
- defer
- src="chrome://browser/content/screenshots/screenshots.js"
- ></script>
- </head>
-
- <body>
- <template id="screenshots-dialog-template">
- <div class="image-view">
- <div class="preview-buttons">
- <button
- id="retry"
- class="preview-button"
- data-l10n-id="screenshots-component-retry-button"
- >
- <img />
- </button>
- <button
- id="cancel"
- class="preview-button"
- data-l10n-id="screenshots-component-cancel-button"
- >
- <img />
- </button>
- <button
- id="copy"
- class="preview-button"
- data-l10n-id="screenshots-component-copy-button"
- >
- <img /><label
- data-l10n-id="screenshots-component-copy-button-label"
- ></label>
- </button>
- <button
- id="download"
- class="preview-button primary"
- data-l10n-id="screenshots-component-download-button"
- >
- <img /><label
- data-l10n-id="screenshots-component-download-button-label"
- ></label>
- </button>
- </div>
- <div class="preview-image">
- <div id="preview-image-div"></div>
- </div>
- </div>
- </template>
- </body>
-</html>
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);