From a2b2b9007299544da6f868d15fbc67ace409267d Mon Sep 17 00:00:00 2001 From: Katie Dillon Date: Tue, 23 Oct 2018 18:30:58 -0700 Subject: [PATCH] Updating tests for Window onerror is not triggered bug fix. Chromium starts propagating errors from worker's onerror to window's onerror after https://chromium-review.googlesource.com/c/chromium/src/+/1287208, resulting in test failures for mixed-content/module-data-worker-import tests that do not account for the thrown exception being sent to the window. This CL adds preventDefault() to the worker.onerror() to handle the case of uncaught exceptions. Strictly speaking, this is not necessary according to the current spec, as "worker's error event" fired at Step 12.1 of #run-a-worker https://html.spec.whatwg.org/multipage/workers.html#run-a-worker does not cause "report the error" and thus window's onerror. But whether window.onerror is fired or not is not what the mixed-content tests aim to test. Change-Id: I571aaa85d90b5f933b6212691dcc783579b294be Reviewed-on: https://chromium-review.googlesource.com/c/1294535 Commit-Queue: Katie Dillon Reviewed-by: Hiroshige Hayashizaki Cr-Commit-Position: refs/heads/master@{#602207} --- mixed-content/generic/common.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mixed-content/generic/common.js b/mixed-content/generic/common.js index 7b4c9e754a0fbc..63383f87e3a2b5 100644 --- a/mixed-content/generic/common.js +++ b/mixed-content/generic/common.js @@ -86,6 +86,9 @@ function bindEvents(element, resolveEventName, rejectEventName) { resolve(e); }); element.addEventListener(rejectEventName || "error", function(e) { + // Chromium starts propagating errors from worker.onerror to + // window.onerror. This handles the uncaught exceptions in tests. + e.preventDefault(); reject(e); }); });