mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 02:35:41 +00:00
11b083d72c
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
18 lines
508 B
Python
18 lines
508 B
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
XPIDL_SOURCES += [
|
|
'mozIJSSubScriptLoader.idl',
|
|
'nsIXPConnect.idl',
|
|
'nsIXPCScriptable.idl',
|
|
'xpccomponents.idl',
|
|
'xpcIJSGetFactory.idl',
|
|
'xpcIJSWeakReference.idl',
|
|
]
|
|
|
|
XPIDL_MODULE = 'xpconnect'
|
|
|