Bug 237643

Summary: Security errors when loading PDF documents using PDF.js
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: PDFAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: mcatanzaro, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=251887
Bug Depends on:    
Bug Blocks: 235969    

Description Carlos Garcia Campos 2022-03-09 03:07:18 PST
CONSOLE MESSAGE: webviewerloaded: SecurityError: Blocked a frame with origin "webkit-pdfjs-viewer://pdfjs" from accessing a cross-origin frame. Protocols, domains, and ports must match.

This happens when the pdf viewer is loaded because it tries to dispatch a custom event to the parent document:

function webViewerLoad() {
  const config = getViewerConfiguration();
  const event = document.createEvent("CustomEvent");
  event.initCustomEvent("webviewerloaded", true, true, {
    source: window
  });

  try {
    parent.document.dispatchEvent(event);
  } catch (ex) {
    console.error(`webviewerloaded: ${ex}`);
    document.dispatchEvent(event);
  }

  _app.PDFViewerApplication.run(config);
}

I have no idea why that's done, but I guess it's harmless and doesn't affect any functionality.

CONSOLE MESSAGE: Feature policy 'Fullscreen' check failed for iframe with origin 'webkit-pdfjs-viewer://pdfjs' and allow attribute ''.

This happens when the viewer checks is fullscreen is supported to enable the presentation mode.
Comment 1 Radar WebKit Bug Importer 2022-03-10 10:18:49 PST
<rdar://problem/90106581>