mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
* chore: bump chromium in DEPS to 109.0.5364.0
* chore: update patches
* chore: bump chromium in DEPS to 109.0.5366.0
* chore: update patches
* i3940364: Change PermissionType::WINDOW_PLACEMENT to WINDOW_MANAGEMENT
https://chromium-review.googlesource.com/c/chromium/src/+/3940364
* 3866812: Change content::PluginList to only run on the UI thread.
https://chromium-review.googlesource.com/c/chromium/src/+/3866812
* chore: bump chromium in DEPS to 109.0.5368.0
* [cleanup] Replace enable_basic_printing with enable_printing
https://chromium-review.googlesource.com/c/chromium/src/+/3957357
* chore: update patches
* 3956318: Desktop PWAs: Retire kWebAppWindowControlsOverlay flag
https://chromium-review.googlesource.com/c/chromium/src/+/3956318
* fixup! Change content::PluginList to only run on the UI thread.
(cherry picked from commit 7b5ec87d4f)
Co-Authored-By: Robo <hop2deep@gmail.com>
* chore: bump chromium in DEPS to 109.0.5370.0
* 3956299: Quota: Cleanup QuotaPermissionContext
https://chromium-review.googlesource.com/c/chromium/src/+/3956299
* chore: update patches
* 3803867: Add Mojo interface to parse XML for OOP printer capabilities
https://chromium-review.googlesource.com/c/chromium/src/+/3803867
* fixup: Add Mojo interface to parse XML for OOP printer capabilities
* chore: bump chromium in DEPS to 109.0.5372.0
* chore: update patches
* chore: bump chromium in DEPS to 109.0.5374.0
* chore: bump chromium in DEPS to 109.0.5376.0
* chore: bump chromium in DEPS to 109.0.5378.0
* chore: update patches
* Quota: Cleanup kPersistent in BrowsingDataRemover
https://chromium-review.googlesource.com/c/chromium/src/+/3964859
* 3955976: serial: Create DOMException with V8ThrowDOMException
https://chromium-review.googlesource.com/c/chromium/src/+/3955976
* 3758405: Append trailer data to serialized messages.
https://chromium-review.googlesource.com/c/chromium/src/+/3758405
* chore: revert clang roll
This patch reverts https://chromium-review.googlesource.com/c/chromium/src/+/3967491
because that roll breaks the WOA build: https://crbug.com/1377819
* chore: update patches
* chore: bump chromium in DEPS to 109.0.5380.0
* chore: update patches
* 3859750: [linux/wayland] Added plumbing for the state of tiled edges.
https://chromium-review.googlesource.com/c/chromium/src/+/3859750
Also 3970920: [linux/wayland] Fixed the tiled edges for the GTK frame.
https://chromium-review.googlesource.com/c/chromium/src/+/3970920
* chore: bump chromium in DEPS to 109.0.5382.0
* chore: update patches
* chore: revert Use accessibility.pkey when setting page access.
https://chromium-review.googlesource.com/c/chromium/src/+/3949281
breaks our Linux builds run under Docker.
This patch should be removed once
https://chromium-review.googlesource.com/c/chromium/src/+/3949284
is merged.
* 3976312: Roll clang llvmorg-16-init-8189-g97196a2d-2 : llvmorg-16-init-8697-g60809cd2-1
https://chromium-review.googlesource.com/c/chromium/src/+/3976312
* 3967841: [heap] Remove AllocationSpace::MAP_SPACE enum constant
https://chromium-review.googlesource.com/c/v8/v8/+/3967841
* 3956131: [cleanup] Remove flag for Wasm threads & atomics
https://chromium-review.googlesource.com/c/v8/v8/+/3956131
* chore: update docs for Quota: Cleanup kPersistent in BrowsingDataRemover
https://chromium-review.googlesource.com/c/chromium/src/+/3964859
* test: fixup HID test for ARM CI
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
87 lines
3.4 KiB
Diff
87 lines
3.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
Date: Mon, 17 Jan 2022 23:47:54 +0100
|
|
Subject: fix: crash when saving edited PDF files
|
|
|
|
This commit fixes a crash that persists any time a user attempts to
|
|
download an edited PDF. This was happening because the logic flow for
|
|
downloading of any edited PDF triggers a call to
|
|
chrome.fileSystem.chooseEntry, which we do not support and which
|
|
therefore causes unmapped page access crashes.
|
|
|
|
This patch can be removed should we choose to support chrome.fileSystem
|
|
or support it enough to fix the crash.
|
|
|
|
diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts
|
|
index 12173c90cae77b522e6545a8d964c63e8b3e5403..5738e64ee954e973fd494203e0cf9ab151fbf331 100644
|
|
--- a/chrome/browser/resources/pdf/pdf_viewer.ts
|
|
+++ b/chrome/browser/resources/pdf/pdf_viewer.ts
|
|
@@ -874,26 +874,12 @@ export class PdfViewerElement extends PdfViewerBaseElement {
|
|
dataArray = [result.dataToSave];
|
|
}
|
|
|
|
+ const a = document.createElement('a');
|
|
+ a.download = this.attachments_[index].name;
|
|
const blob = new Blob(dataArray);
|
|
- const fileName = this.attachments_[index].name;
|
|
- chrome.fileSystem.chooseEntry(
|
|
- {type: 'saveFile', suggestedName: fileName},
|
|
- (entry?: FileSystemFileEntry) => {
|
|
- if (chrome.runtime.lastError) {
|
|
- if (chrome.runtime.lastError.message !== 'User cancelled') {
|
|
- console.error(
|
|
- 'chrome.fileSystem.chooseEntry failed: ' +
|
|
- chrome.runtime.lastError.message);
|
|
- }
|
|
- return;
|
|
- }
|
|
- entry!.createWriter((writer: FileWriter) => {
|
|
- writer.write(blob);
|
|
- // Unblock closing the window now that the user has saved
|
|
- // successfully.
|
|
- chrome.mimeHandlerPrivate.setShowBeforeUnloadDialog(false);
|
|
- });
|
|
- });
|
|
+ a.href = URL.createObjectURL(blob);
|
|
+ a.click();
|
|
+ URL.revokeObjectURL(a.href);
|
|
}
|
|
|
|
/**
|
|
@@ -1001,30 +987,12 @@ export class PdfViewerElement extends PdfViewerBaseElement {
|
|
fileName = fileName + '.pdf';
|
|
}
|
|
|
|
- // Create blob before callback to avoid race condition.
|
|
+ const a = document.createElement('a');
|
|
+ a.download = fileName;
|
|
const blob = new Blob([result.dataToSave], {type: 'application/pdf'});
|
|
- chrome.fileSystem.chooseEntry(
|
|
- {
|
|
- type: 'saveFile',
|
|
- accepts: [{description: '*.pdf', extensions: ['pdf']}],
|
|
- suggestedName: fileName,
|
|
- },
|
|
- (entry?: FileSystemFileEntry) => {
|
|
- if (chrome.runtime.lastError) {
|
|
- if (chrome.runtime.lastError.message !== 'User cancelled') {
|
|
- console.error(
|
|
- 'chrome.fileSystem.chooseEntry failed: ' +
|
|
- chrome.runtime.lastError.message);
|
|
- }
|
|
- return;
|
|
- }
|
|
- entry!.createWriter((writer: FileWriter) => {
|
|
- writer.write(blob);
|
|
- // Unblock closing the window now that the user has saved
|
|
- // successfully.
|
|
- chrome.mimeHandlerPrivate.setShowBeforeUnloadDialog(false);
|
|
- });
|
|
- });
|
|
+ a.href = URL.createObjectURL(blob);
|
|
+ a.click();
|
|
+ URL.revokeObjectURL(a.href);
|
|
|
|
// <if expr="enable_ink">
|
|
// Saving in Annotation mode is destructive: crbug.com/919364
|