gecko-dev/xpcom
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
..
base Bug 1533861 - Add a telemetry to detect disk type r=chutten,froydnj,bdekoz 2019-05-08 15:30:07 +00:00
build Bug 1460811 - migrate XULStore to rkv r=bgrins,lina 2019-04-22 02:59:51 +00:00
components Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
doc
ds Bug 1551647. Stop using [array] in nsIProperties. r=froydnj 2019-05-14 18:46:13 +00:00
glue Bug 1546498 - Split out MaybePrefetchMemory's check into two functions r=aklotz 2019-05-01 02:08:28 +00:00
idl-parser Bug 1550770 - Error instead of implicitly converting XPCOM interfaces to builtinclass. r=nika 2019-05-14 17:39:14 +00:00
io Bug 1551647. Stop using [array] in nsIProperties. r=froydnj 2019-05-14 18:46:13 +00:00
libxpt/xptcall
reflect Bug 1550545, part 3 - Move the logic for notxpcom implying hidden into jsonxpt. r=nika 2019-05-09 22:07:12 +00:00
rust Bug 1550556 - remove unnecessary `mut` markings for nsstring variables; r=mccr8 2019-05-09 20:08:53 +00:00
string Bug 1543693 - Add missing nsReadableUtils wrappers for conversions between UTF-8 and Latin1 XPCOM string. r=froydnj 2019-04-12 17:49:11 +00:00
system Bug 1433685 - Remove nsGConfService, r=glandium 2019-04-10 10:18:14 +00:00
tests Bug 1550770 - Error instead of implicitly converting XPCOM interfaces to builtinclass. r=nika 2019-05-14 17:39:14 +00:00
threads Bug 1551203, Bug 1551203 - Give ThrottledEventQueues names, r=erahm 2019-05-13 18:12:24 +00:00
windbgdlg Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor 2019-02-19 20:42:11 +09:00
xpidl
moz.build Bug 1489340 - Remove xpcom/typelib r=froydnj 2018-09-07 13:55:38 +00:00
xpcom-config.h.in Bug 1523851 - Remove the dynamic_cast<void*> test. r=froydnj 2019-01-30 14:25:33 +00:00
xpcom-private.h.in