gecko-dev/js/xpconnect/idl
Nika Layzell 11b083d72c Bug 1477432 - Part 9: Switch to using plain JS objects for nsIJS[IC]ID, r=mccr8
This is a complete rewrite of the interface while maintaining the same APIs.
Each ID is fully-contained within a single object, does not require a finalizer,
and is cheap to create.

Beyond using reserved slots, this code avoids using custom ClassOps, instead
preferring Symbol.hasInstance and eager constants.

One major change which occurred in this patch was the move from storing a nsCID
to storing the ContractID for JSCID objects. This eliminates the need for the
'refreshCID' method, and hopefully shouldn't have performance implications.

If we discover that there are performance problems there, we can look into
stashing the CID, and re-introduce 'refreshCID', despite its surprising
behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D2286
2018-11-16 17:27:44 -05:00
..
moz.build Bug 1477432 - Part 9: Switch to using plain JS objects for nsIJS[IC]ID, r=mccr8 2018-11-16 17:27:44 -05:00
mozIJSSubScriptLoader.idl Bug 1490503 - Mark more XPConnect classes builtinclass r=peterv 2018-09-14 17:52:36 +00:00
nsIXPConnect.idl Bug 1490507, part 1 - Remove nsIXPCWrappedJSObjectGetter and move the comment r=bholley 2018-10-09 21:14:37 +00:00
nsIXPCScriptable.idl Bug 1501910 - Pass enumerableOnly into nsIXPCScriptable::NewEnumerate, r=bzbarsky 2018-10-25 10:24:36 -04:00
xpccomponents.idl Bug 1477432 - Part 8: Remove test-only Components.classesById and Components.interfacesById, r=mccr8 2018-11-16 17:27:42 -05:00
xpcIJSGetFactory.idl
xpcIJSWeakReference.idl Bug 1490503 - Mark more XPConnect classes builtinclass r=peterv 2018-09-14 17:52:36 +00:00