diff options
Diffstat (limited to 'dom/canvas/CanvasUtils.cpp')
-rw-r--r-- | dom/canvas/CanvasUtils.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/dom/canvas/CanvasUtils.cpp b/dom/canvas/CanvasUtils.cpp index 69f185cc20..9f4d66c011 100644 --- a/dom/canvas/CanvasUtils.cpp +++ b/dom/canvas/CanvasUtils.cpp @@ -110,6 +110,11 @@ bool IsImageExtractionAllowed(dom::Document* aDocument, JSContext* aCx, return true; } + // Allow chrome: and resource: (this especially includes PDF.js) + if (subjectPrincipal.SchemeIs("chrome") || subjectPrincipal.SchemeIs("resource")) { + return true; + } + // Allow extension principals. auto* principal = BasePrincipal::Cast(&subjectPrincipal); if (principal->AddonPolicy() || principal->ContentScriptAddonPolicy()) { @@ -126,13 +131,6 @@ bool IsImageExtractionAllowed(dom::Document* aDocument, JSContext* aCx, return true; } - // Don't show canvas prompt for PDF.js - JS::AutoFilename scriptFile; - if (JS::DescribeScriptedCaller(aCx, &scriptFile) && scriptFile.get() && - strcmp(scriptFile.get(), "resource://pdf.js/build/pdf.js") == 0) { - return true; - } - // ------------------------------------------------------------------- // Possibly block third parties |