From 076695c59731bc9f853b67836bf92e26c21dd626 Mon Sep 17 00:00:00 2001 From: Gaming4JC Date: Wed, 22 Jan 2020 21:39:34 -0500 Subject: Bug 1407669 - Fix custom element creation hides uncatchable exceptions from the constructor. Tag UXP Issue mcp-graveyard/UXP#1344 --- dom/base/CustomElementRegistry.cpp | 1 + dom/tests/mochitest/webcomponents/mochitest.ini | 2 ++ .../test_custom_element_uncatchable_exception.html | 37 ++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 dom/tests/mochitest/webcomponents/test_custom_element_uncatchable_exception.html (limited to 'dom') diff --git a/dom/base/CustomElementRegistry.cpp b/dom/base/CustomElementRegistry.cpp index 761a791130..c52d2cc986 100644 --- a/dom/base/CustomElementRegistry.cpp +++ b/dom/base/CustomElementRegistry.cpp @@ -77,6 +77,7 @@ CustomElementConstructor::Construct(const char* aExecutionReason, JS::Rooted result(cx); JS::Rooted constructor(cx, JS::ObjectValue(*mCallback)); if (!JS::Construct(cx, constructor, JS::HandleValueArray::empty(), &result)) { + aRv.NoteJSContextException(cx); return nullptr; } diff --git a/dom/tests/mochitest/webcomponents/mochitest.ini b/dom/tests/mochitest/webcomponents/mochitest.ini index 3559f33c19..f5d0f84ea9 100644 --- a/dom/tests/mochitest/webcomponents/mochitest.ini +++ b/dom/tests/mochitest/webcomponents/mochitest.ini @@ -21,6 +21,8 @@ skip-if = true || stylo # disabled - See bug 1390396 and 1293844 [test_custom_element_throw_on_dynamic_markup_insertion.html] [test_custom_element_get.html] [test_custom_element_when_defined.html] +[test_custom_element_uncatchable_exception.html] +skip-if = !debug # TestFunctions only applied in debug builds [test_nested_content_element.html] [test_dest_insertion_points.html] [test_dest_insertion_points_shadow.html] diff --git a/dom/tests/mochitest/webcomponents/test_custom_element_uncatchable_exception.html b/dom/tests/mochitest/webcomponents/test_custom_element_uncatchable_exception.html new file mode 100644 index 0000000000..f60bf16742 --- /dev/null +++ b/dom/tests/mochitest/webcomponents/test_custom_element_uncatchable_exception.html @@ -0,0 +1,37 @@ + + + + + Test custom elements runtime exception + + + + +Bug 1407669 + + + -- cgit v1.2.3