From df821804ae77594067ca57fac03e4becfa56893b Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Fri, 12 Jul 2019 14:32:57 -0700 Subject: [PATCH] Bug 1563997: Handle webcompat Components stub in MozillaFileLogger.js. r=nika Differential Revision: https://phabricator.services.mozilla.com/D37938 --HG-- extra : rebase_source : dc1827f5a28dce10881d01461e7ff2a9889d1b65 --- testing/mochitest/tests/SimpleTest/MozillaLogger.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/testing/mochitest/tests/SimpleTest/MozillaLogger.js b/testing/mochitest/tests/SimpleTest/MozillaLogger.js index d420abd85006..defd7b92a320 100644 --- a/testing/mochitest/tests/SimpleTest/MozillaLogger.js +++ b/testing/mochitest/tests/SimpleTest/MozillaLogger.js @@ -18,7 +18,14 @@ function importJSM(jsm) { return SpecialPowers.wrap(obj); } -let CC = (typeof Components === "object" +// When running in release builds, we get a fake Components object in +// web contexts, so we need to check that the Components object is sane, +// too, not just that it exists. +let haveComponents = + typeof Components === "object" && + typeof Components.Constructor === "function"; + +let CC = (haveComponents ? Components : SpecialPowers.wrap(SpecialPowers.Components)).Constructor;