gecko-dev/xpcom/tests
Andrew McCreight 20b03783b4 Bug 1550770 - Error instead of implicitly converting XPCOM interfaces to builtinclass. r=nika
XPIDL has the requirement that [scriptable] interfaces with [notxpcom]
methods or attributes are [builtinclass]. Currently, if you don't
explicitly mark something builtinclass when it should be, then the
XPIDL compiler will just silently treat it like builtinclass. This
means that you can cause the JS implementation of an XPCOM to start
failing without any warning by marking a method notxpcom.

This patch instead makes it an error. A prior patch fixed the existing
instances in the tree that relied on the implicit behavior.

I also added a test that we reject such classes missing builtinclass
at compile time, as well as classes that inherit from builtinclass
interfaces without themselves being builtinclass. I left behind a part
of the runtime test for this behavior, but now this test just ensures
that you can't implement a [builtinclass] interface in JS.

Differential Revision: https://phabricator.services.mozilla.com/D30984

--HG--
extra : moz-landing-system : lando
2019-05-14 17:39:14 +00:00
..
gtest Bug 1551203, Bug 1551203 - Give ThrottledEventQueues names, r=erahm 2019-05-13 18:12:24 +00:00
unit Bug 1550770 - Error instead of implicitly converting XPCOM interfaces to builtinclass. r=nika 2019-05-14 17:39:14 +00:00
windows Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
NotXPCOMTest.idl Bug 1550770 - Error instead of implicitly converting XPCOM interfaces to builtinclass. r=nika 2019-05-14 17:39:14 +00:00
RegFactory.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
SizeTest01.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
SizeTest02.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
SizeTest03.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
SizeTest04.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
SizeTest05.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
SizeTest06.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
TestArguments.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
TestBlockingProcess.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
TestHarness.h Bug 1534878 - xpcom: Rename NS_InitXPCOM2() to NS_InitXPCOM(). r=froydnj 2019-03-14 23:38:09 -07:00
TestPRIntN.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
TestQuickReturn.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
TestShutdown.cpp Bug 1534878 - xpcom: Rename NS_InitXPCOM2() to NS_InitXPCOM(). r=froydnj 2019-03-14 23:38:09 -07:00
TestStackCrawl.cpp Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
TestStreamUtils.cpp Bug 1534878 - xpcom: Rename NS_InitXPCOM2() to NS_InitXPCOM(). r=froydnj 2019-03-14 23:38:09 -07:00
TestUnicodeArguments.cpp Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
TestWinReg.js
TestingAtomList.h
moz.build
resources.h Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan 2018-12-14 18:10:35 +00:00
test.properties