MarshallOfSound

#53313: fix: allow the PDF viewer to show a save file picker again

Merged
Created: Aug 30, 2026, 1:44:35 AM
Merged: Aug 31, 2026, 10:32:24 AM
4 comments
Target: main

Description of Change

Fixes #53286
Refs CL:7806164

  • Chromium 150 moved the authoritative cross-origin file-picker check from the renderer-side ContentClient::IsFilePickerAllowedForCrossOriginSubframe() to a new browser-side ContentBrowserClient::IsCrossOriginSubframeAllowedToShowFilePicker() hook. Electron only overrode the old hook (#51042), so the browser-side check fell through to the default and denied the PDF viewer's "save with your changes" picker with NotAllowedError: Third party iframes are not allowed to show a file picker.
  • Override the new hook for the PDF extension origin, matching Chrome's fast path in ChromeContentBrowserClient.

Verified locally on Linux by loading a PDF and calling window.showSaveFilePicker() from the PDF extension frame with a user gesture: before this change it rejects with the error above, after it the native save dialog opens.

Checklist

Release Notes

Notes: Fixed the PDF viewer failing to save an edited PDF with NotAllowedError: Third party iframes are not allowed to show a file picker.

Backports

43-x-y
Merged
PR Number
#53327
Merged At
Aug 31, 2026, 12:02:48 PM
Released In
Not yet
Release Date
Not yet
44-x-y
Merged
PR Number
#53328
Merged At
Aug 31, 2026, 12:47:33 PM
Released In
Not yet
Release Date
Not yet
45-x-y
Merged
PR Number
#53326
Merged At
Aug 31, 2026, 12:47:18 PM
Released In
v45.0.0-alpha.3
Release Date
Aug 31, 2026, 3:00:16 PM

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

Semantic Versioning helps users understand the impact of updates:

  • Major (X.y.z): Breaking changes that may require code modifications
  • Minor (x.Y.z): New features that maintain backward compatibility
  • Patch (x.y.Z): Bug fixes that don't change the API
  • None: Changes that don't affect using facing parts of Electron