diff --git a/build/pdf.js b/build/pdf.js
index 8d59e6d..fea69fe 100644
--- a/build/pdf.js
+++ b/build/pdf.js
@@ -2971,7 +2971,15 @@
             workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
           }
 
-          const worker = new Worker(workerSrc);
+          if (self.trustedTypes && self.trustedTypes.createPolicy) {
+            const policy = self.trustedTypes.createPolicy('pdf-fix', {
+              createScriptURL: (_ignored) => workerSrc
+            });
+            const safeWorkerSrc = policy.createScriptURL(workerSrc);
+          else {
+            const safeWorkerSrc = workerSrc;
+          }
+          const worker = new Worker(safeWorkerSrc);
           const messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
 
           const terminateEarly = () => {
diff --git a/lib/display/api.js b/lib/display/api.js
index 6d4bcae..92cd544 100644
--- a/lib/display/api.js
+++ b/lib/display/api.js
@@ -1225,7 +1225,15 @@
             workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
           }
 
-          const worker = new Worker(workerSrc);
+          if (self.trustedTypes && self.trustedTypes.createPolicy) {
+            const policy = self.trustedTypes.createPolicy('pdf-fix', {
+              createScriptURL: (_ignored) => workerSrc
+            });
+            const safeWorkerSrc = policy.createScriptURL('_ignored');
+          else {
+            const safeWorkerSrc = workerSrc;
+          }
+          const worker = new Worker(safeWorkerSrc);
           const messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
 
           const terminateEarly = () => {
