fix: pdf viewer missing resources (#27499)

* fix: pdf viewer missing resources

* test: add simple regression test

* 2638992: PDF Viewer: Stop respecting the PDFViewerUpdate flag.

https://chromium-review.googlesource.com/c/chromium/src/+/2638992

* 2439433: PDF Viewer Update: Add aria-label for thumbnails

https://chromium-review.googlesource.com/c/chromium/src/+/2439433
This commit is contained in:
Shelley Vohr 2021-01-27 17:09:55 -08:00 коммит произвёл GitHub
Родитель e94f97f2c9
Коммит bf6a50c538
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
5 изменённых файлов: 19 добавлений и 5 удалений

Просмотреть файл

@ -648,6 +648,7 @@ source_set("electron_lib") {
}
if (enable_pdf_viewer) {
deps += [
"//chrome/browser/resources/pdf:pdf_resources",
"//components/pdf/browser",
"//components/pdf/renderer",
"//pdf:pdf_ppapi",

Просмотреть файл

@ -96,6 +96,10 @@ template("electron_extra_paks") {
"$root_gen_dir/ui/resources/webui_generated_resources.pak",
]
deps += [ "//content/browser/devtools:devtools_resources" ]
if (enable_pdf_viewer) {
sources += [ "$root_gen_dir/chrome/pdf_resources.pak" ]
deps += [ "//chrome/browser/resources/pdf:pdf_resources" ]
}
if (enable_print_preview) {
sources += [ "$root_gen_dir/chrome/print_preview_resources.pak" ]
deps +=

Просмотреть файл

@ -39,6 +39,7 @@ void AddStringsForPdf(base::DictionaryValue* dict) {
{"passwordDialogTitle", IDS_PDF_PASSWORD_DIALOG_TITLE},
{"passwordPrompt", IDS_PDF_NEED_PASSWORD},
{"passwordSubmit", IDS_PDF_PASSWORD_SUBMIT},
{"thumbnailPageAriaLabel", IDS_PDF_THUMBNAIL_PAGE_ARIA_LABEL},
{"passwordInvalid", IDS_PDF_PASSWORD_INVALID},
{"pageLoading", IDS_PDF_PAGE_LOADING},
{"pageLoadFailed", IDS_PDF_PAGE_LOAD_FAILED},
@ -66,11 +67,9 @@ void AddAdditionalDataForPdf(base::DictionaryValue* dict) {
dict->SetKey("pdfFormSaveEnabled",
base::Value(base::FeatureList::IsEnabled(
chrome_pdf::features::kSaveEditedPDFForm)));
dict->SetStringKey(
"pdfViewerUpdateEnabledAttribute",
base::FeatureList::IsEnabled(chrome_pdf::features::kPDFViewerUpdate)
? "pdf-viewer-update-enabled"
: "");
dict->SetKey("documentPropertiesEnabled",
base::Value(base::FeatureList::IsEnabled(
chrome_pdf::features::kPdfViewerDocumentProperties)));
dict->SetKey("presentationModeEnabled",
base::Value(base::FeatureList::IsEnabled(
chrome_pdf::features::kPdfViewerPresentationMode)));

Просмотреть файл

@ -18,6 +18,7 @@
#if BUILDFLAG(ENABLE_PDF_VIEWER)
#include "chrome/browser/pdf/pdf_extension_util.h" // nogncheck
#include "chrome/grit/pdf_resources_map.h"
#include "extensions/common/constants.h"
#endif
@ -28,6 +29,8 @@ ElectronComponentExtensionResourceManager::
AddComponentResourceEntries(kComponentExtensionResources,
kComponentExtensionResourcesSize);
#if BUILDFLAG(ENABLE_PDF_VIEWER)
AddComponentResourceEntries(kPdfResources, kPdfResourcesSize);
// Register strings for the PDF viewer, so that $i18n{} replacements work.
base::Value pdf_strings(base::Value::Type::DICTIONARY);
pdf_extension_util::AddStrings(

Просмотреть файл

@ -1280,6 +1280,13 @@ describe('chromium features', () => {
slashes: true
});
it('successfully loads a PDF file', async () => {
const w = new BrowserWindow({ show: false });
w.loadURL(pdfSource);
await emittedOnce(w.webContents, 'did-finish-load');
});
it('opens when loading a pdf resource as top level navigation', async () => {
const w = new BrowserWindow({ show: false });
w.loadURL(pdfSource);