mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1312355: Use a fixed lookup table for variables imported from JS modules. r=standard8
MozReview-Commit-ID: EhKhBvAAlXd --HG-- extra : rebase_source : 935a96957ffb9e5f7e752c00e150d1757989d867
This commit is contained in:
parent
95e35ed4fd
commit
76fbb2e22e
@ -18,7 +18,6 @@ const { ADDON_SIGNING, REQUIRE_SIGNING } = CONSTANTS
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
Cu.import("resource://gre/modules/AddonManager.jsm");
|
||||
/* globals AddonManagerPrivate*/
|
||||
Cu.import("resource://gre/modules/Preferences.jsm");
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "AddonRepository",
|
||||
|
@ -70,6 +70,7 @@ const globalCache = new Map();
|
||||
*/
|
||||
function GlobalsForNode(path) {
|
||||
this.path = path;
|
||||
this.root = helpers.getRootDir(path);
|
||||
}
|
||||
|
||||
GlobalsForNode.prototype = {
|
||||
@ -92,8 +93,8 @@ GlobalsForNode.prototype = {
|
||||
|
||||
ExpressionStatement(node, parents) {
|
||||
let isGlobal = helpers.getIsGlobalScope(parents);
|
||||
let name = helpers.convertExpressionToGlobal(node, isGlobal);
|
||||
return name ? [{ name, writable: true}] : [];
|
||||
let names = helpers.convertExpressionToGlobals(node, isGlobal, this.root);
|
||||
return names.map(name => { return { name, writable: true }});
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -12,6 +12,8 @@ var estraverse = require("estraverse");
|
||||
var path = require("path");
|
||||
var fs = require("fs");
|
||||
|
||||
var modules = null;
|
||||
|
||||
var definitions = [
|
||||
/^loader\.lazyGetter\(this, "(\w+)"/,
|
||||
/^loader\.lazyImporter\(this, "(\w+)"/,
|
||||
@ -30,7 +32,7 @@ var definitions = [
|
||||
];
|
||||
|
||||
var imports = [
|
||||
/^(?:Cu|Components\.utils)\.import\(".*\/(.*?)\.jsm?"(?:, this)?\)/,
|
||||
/^(?:Cu|Components\.utils)\.import\(".*\/((.*?)\.jsm?)"(?:, this)?\)/,
|
||||
];
|
||||
|
||||
module.exports = {
|
||||
@ -152,23 +154,29 @@ module.exports = {
|
||||
},
|
||||
|
||||
/**
|
||||
* Attempts to convert an ExpressionStatement to a likely global variable
|
||||
* definition.
|
||||
* Attempts to convert an ExpressionStatement to likely global variable
|
||||
* definitions.
|
||||
*
|
||||
* @param {Object} node
|
||||
* The AST node to convert.
|
||||
* @param {boolean} isGlobal
|
||||
* True if the current node is in the global scope
|
||||
* True if the current node is in the global scope.
|
||||
* @param {String} repository
|
||||
* The root of the repository.
|
||||
*
|
||||
* @return {String or null}
|
||||
* The variable name defined.
|
||||
* @return {Array}
|
||||
* An array of variable names defined.
|
||||
*/
|
||||
convertExpressionToGlobal: function(node, isGlobal) {
|
||||
convertExpressionToGlobals: function(node, isGlobal, repository) {
|
||||
if (!modules) {
|
||||
modules = require(path.join(repository, "tools", "lint", "eslint", "modules.json"));
|
||||
}
|
||||
|
||||
try {
|
||||
var source = this.getASTSource(node);
|
||||
}
|
||||
catch (e) {
|
||||
return null;
|
||||
return [];
|
||||
}
|
||||
|
||||
for (var reg of definitions) {
|
||||
@ -176,10 +184,10 @@ module.exports = {
|
||||
if (match) {
|
||||
// Must be in the global scope
|
||||
if (!isGlobal) {
|
||||
return null;
|
||||
return [];
|
||||
}
|
||||
|
||||
return match[1];
|
||||
return [match[1]];
|
||||
}
|
||||
}
|
||||
|
||||
@ -188,14 +196,18 @@ module.exports = {
|
||||
if (match) {
|
||||
// The two argument form is only acceptable in the global scope
|
||||
if (node.expression.arguments.length > 1 && !isGlobal) {
|
||||
return null;
|
||||
return [];
|
||||
}
|
||||
|
||||
return match[1];
|
||||
if (match[1] in modules) {
|
||||
return modules[match[1]];
|
||||
}
|
||||
|
||||
return [match[2]];
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
return [];
|
||||
},
|
||||
|
||||
/**
|
||||
@ -357,13 +369,12 @@ module.exports = {
|
||||
/**
|
||||
* Gets the root directory of the repository by walking up directories until
|
||||
* a .eslintignore file is found.
|
||||
* @param {ASTContext} context
|
||||
* The current context.
|
||||
* @param {String} fileName
|
||||
* The absolute path of a file in the repository
|
||||
*
|
||||
* @return {String} The absolute path of the repository directory
|
||||
*/
|
||||
getRootDir: function(context) {
|
||||
var fileName = this.getAbsoluteFilePath(context);
|
||||
getRootDir: function(fileName) {
|
||||
var dirName = path.dirname(fileName);
|
||||
|
||||
while (dirName && !fs.existsSync(path.join(dirName, ".eslintignore"))) {
|
||||
|
@ -60,7 +60,8 @@ module.exports = function(context) {
|
||||
return;
|
||||
}
|
||||
|
||||
let root = helpers.getRootDir(context);
|
||||
let filepath = helpers.getAbsoluteFilePath(context);
|
||||
let root = helpers.getRootDir(filepath);
|
||||
for (let script of SCRIPTS) {
|
||||
let fileName = path.join(root, script);
|
||||
try {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "eslint-plugin-mozilla",
|
||||
"version": "0.2.3",
|
||||
"version": "0.2.4",
|
||||
"description": "A collection of rules that help enforce JavaScript coding standard in the Mozilla project.",
|
||||
"keywords": [
|
||||
"eslint",
|
||||
|
247
tools/lint/eslint/modules.json
Normal file
247
tools/lint/eslint/modules.json
Normal file
@ -0,0 +1,247 @@
|
||||
{
|
||||
"AboutHome.jsm": ["AboutHomeUtils", "AboutHome"],
|
||||
"AddonLogging.jsm": ["LogManager"],
|
||||
"AddonManager.jsm": ["AddonManager", "AddonManagerPrivate"],
|
||||
"addons.js": ["AddonsEngine", "AddonValidator"],
|
||||
"addons.jsm": ["Addon", "STATE_ENABLED", "STATE_DISABLED"],
|
||||
"addonsreconciler.js": ["AddonsReconciler", "CHANGE_INSTALLED", "CHANGE_UNINSTALLED", "CHANGE_ENABLED", "CHANGE_DISABLED"],
|
||||
"AddonTestUtils.jsm": ["AddonTestUtils", "MockAsyncShutdown"],
|
||||
"addonutils.js": ["AddonUtils"],
|
||||
"ajv-4.1.1.js": ["Ajv"],
|
||||
"AlertsHelper.jsm": [],
|
||||
"AppData.jsm": ["makeFakeAppDir"],
|
||||
"AppInfo.jsm": ["newAppInfo", "getAppInfo", "updateAppInfo"],
|
||||
"AppsServiceChild.jsm": ["DOMApplicationRegistry", "WrappedManifestCache"],
|
||||
"arrays.js": ["inArray", "getSet", "indexOf", "remove", "rindexOf", "compare"],
|
||||
"assertions.js": ["Assert", "Expect"],
|
||||
"async.js": ["Async"],
|
||||
"AsyncSpellCheckTestHelper.jsm": ["onSpellCheck"],
|
||||
"Battery.jsm": ["GetBattery", "Battery"],
|
||||
"blocklist-clients.js": ["AddonBlocklistClient", "GfxBlocklistClient", "OneCRLBlocklistClient", "PluginBlocklistClient", "FILENAME_ADDONS_JSON", "FILENAME_GFX_JSON", "FILENAME_PLUGINS_JSON"],
|
||||
"blocklist-updater.js": ["checkVersions", "addTestBlocklistClient"],
|
||||
"bogus_element_type.jsm": [],
|
||||
"bookmark_validator.js": ["BookmarkValidator", "BookmarkProblemData"],
|
||||
"bookmarks.js": ["BookmarksEngine", "PlacesItem", "Bookmark", "BookmarkFolder", "BookmarkQuery", "Livemark", "BookmarkSeparator"],
|
||||
"bookmarks.jsm": ["PlacesItem", "Bookmark", "Separator", "Livemark", "BookmarkFolder", "DumpBookmarks"],
|
||||
"BootstrapMonitor.jsm": ["monitor"],
|
||||
"browser-loader.js": ["BrowserLoader"],
|
||||
"browserid_identity.js": ["BrowserIDManager", "AuthenticationError"],
|
||||
"CertUtils.jsm": ["BadCertHandler", "checkCert", "readCertPrefs", "validateCert"],
|
||||
"clients.js": ["ClientEngine", "ClientsRec"],
|
||||
"CloudSyncAdapters.jsm": ["Adapters"],
|
||||
"CloudSyncBookmarks.jsm": ["Bookmarks"],
|
||||
"CloudSyncBookmarksFolderCache.jsm": ["FolderCache"],
|
||||
"CloudSyncEventSource.jsm": ["EventSource"],
|
||||
"CloudSyncLocal.jsm": ["Local"],
|
||||
"CloudSyncPlacesWrapper.jsm": ["PlacesWrapper"],
|
||||
"CloudSyncTabs.jsm": ["Tabs"],
|
||||
"cluster.js": ["ClusterManager"],
|
||||
"collection_validator.js": ["CollectionValidator", "CollectionProblemData"],
|
||||
"Console.jsm": ["console", "ConsoleAPI"],
|
||||
"Constants.jsm": ["Roles", "Events", "Relations", "Filters", "States", "Prefilters"],
|
||||
"ContactDB.jsm": ["ContactDB", "DB_NAME", "STORE_NAME", "SAVED_GETALL_STORE_NAME", "REVISION_STORE", "DB_VERSION"],
|
||||
"content-server.jsm": ["init"],
|
||||
"content.jsm": ["registerContentFrame"],
|
||||
"ContentCrashHandlers.jsm": ["TabCrashHandler", "PluginCrashReporter", "UnsubmittedCrashHandler"],
|
||||
"ContentObservers.jsm": [],
|
||||
"ContentPrefUtils.jsm": ["ContentPref", "cbHandleResult", "cbHandleError", "cbHandleCompletion", "safeCallback"],
|
||||
"controller.js": ["MozMillController", "globalEventRegistry", "sleep", "windowMap"],
|
||||
"cookies.js": ["Cookies"],
|
||||
"CoverageUtils.jsm": ["CoverageCollector"],
|
||||
"CrashManagerTest.jsm": ["configureLogging", "getManager", "sleep", "TestingCrashManager"],
|
||||
"dbg-client.jsm": ["DebuggerTransport", "DebuggerClient", "RootClient", "LongStringClient", "EnvironmentClient", "ObjectClient"],
|
||||
"dbg-server.jsm": ["DebuggerServer", "ActorPool", "OriginalLocation"],
|
||||
"debug.js": ["NS_ASSERT"],
|
||||
"declined.js": ["DeclinedEngines"],
|
||||
"dispatcher.js": ["Dispatcher"],
|
||||
"distribution.js": ["DistributionCustomizer"],
|
||||
"DNSTypes.jsm": ["DNS_QUERY_RESPONSE_CODES", "DNS_AUTHORITATIVE_ANSWER_CODES", "DNS_CLASS_CODES", "DNS_RECORD_TYPES"],
|
||||
"dom.js": ["getAttributes"],
|
||||
"DOMRequestHelper.jsm": ["DOMRequestIpcHelper"],
|
||||
"DownloadCore.jsm": ["Download", "DownloadSource", "DownloadTarget", "DownloadError", "DownloadSaver", "DownloadCopySaver", "DownloadLegacySaver", "DownloadPDFSaver"],
|
||||
"DownloadList.jsm": ["DownloadList", "DownloadCombinedList", "DownloadSummary"],
|
||||
"E10SAddonsRollout.jsm": ["isAddonPartOfE10SRollout"],
|
||||
"elementslib.js": ["ID", "Link", "XPath", "Selector", "Name", "Anon", "AnonXPath", "Lookup", "_byID", "_byName", "_byAttrib", "_byAnonAttrib"],
|
||||
"engines.js": ["EngineManager", "Engine", "SyncEngine", "Tracker", "Store", "Changeset"],
|
||||
"enginesync.js": ["EngineSynchronizer"],
|
||||
"errors.js": ["BaseError", "ApplicationQuitError", "AssertionError", "TimeoutError"],
|
||||
"evaluate.js": ["evaluate", "sandbox", "Sandboxes"],
|
||||
"event-emitter.js": ["EventEmitter"],
|
||||
"EventUtils.js": ["disableNonTestMouseEvents", "sendMouseEvent", "sendChar", "sendString", "sendKey", "synthesizeMouse", "synthesizeTouch", "synthesizeMouseAtPoint", "synthesizeTouchAtPoint", "synthesizeMouseAtCenter", "synthesizeTouchAtCenter", "synthesizeWheel", "synthesizeKey", "synthesizeMouseExpectEvent", "synthesizeKeyExpectEvent", "synthesizeText", "synthesizeComposition", "synthesizeQuerySelectedText"],
|
||||
"Extension.jsm": ["Extension", "ExtensionData"],
|
||||
"ExtensionAPI.jsm": ["ExtensionAPI", "ExtensionAPIs"],
|
||||
"ExtensionXPCShellUtils.jsm": ["ExtensionTestUtils"],
|
||||
"fakeservices.js": ["FakeCryptoService", "FakeFilesystemService", "FakeGUIDService", "fakeSHA256HMAC"],
|
||||
"file_expandosharing.jsm": ["checkFromJSM"],
|
||||
"file_stringencoding.jsm": ["checkFromJSM"],
|
||||
"file_url.jsm": ["checkFromJSM"],
|
||||
"file_worker_url.jsm": ["checkFromJSM"],
|
||||
"Finder.jsm": ["Finder", "GetClipboardSearchString"],
|
||||
"FormAutofillContent.jsm": ["FormAutofillHandler"],
|
||||
"forms.js": ["FormEngine", "FormRec", "FormValidator"],
|
||||
"forms.jsm": ["FormData"],
|
||||
"frame.js": ["Collector", "Runner", "events", "runTestFile", "log", "timers", "persisted", "shutdownApplication"],
|
||||
"FrameScriptManager.jsm": ["getNewLoaderID"],
|
||||
"fxa_utils.js": ["initializeIdentityWithTokenServerResponse"],
|
||||
"fxaccounts.jsm": ["Authentication"],
|
||||
"FxAccounts.jsm": ["fxAccounts", "FxAccounts"],
|
||||
"FxAccountsOAuthGrantClient.jsm": ["FxAccountsOAuthGrantClient", "FxAccountsOAuthGrantClientError"],
|
||||
"FxAccountsProfileClient.jsm": ["FxAccountsProfileClient", "FxAccountsProfileClientError"],
|
||||
"FxAccountsPush.js": ["FxAccountsPushService"],
|
||||
"FxAccountsStorage.jsm": ["FxAccountsStorageManagerCanStoreField", "FxAccountsStorageManager"],
|
||||
"FxAccountsWebChannel.jsm": ["EnsureFxAccountsWebChannel"],
|
||||
"FxaMigrator.jsm": ["fxaMigrator"],
|
||||
"gDevTools.jsm": ["gDevTools", "gDevToolsBrowser"],
|
||||
"gDevTools.jsm": ["gDevTools", "gDevToolsBrowser"],
|
||||
"Geometry.jsm": ["Point", "Rect"],
|
||||
"Gestures.jsm": ["GestureSettings", "GestureTracker"],
|
||||
"GMPInstallManager.jsm": ["GMPInstallManager", "GMPExtractor", "GMPDownloader", "GMPAddon"],
|
||||
"GMPProvider.jsm": [],
|
||||
"GMPUtils.jsm": ["EME_ADOBE_ID", "GMP_PLUGIN_IDS", "GMPPrefs", "GMPUtils", "OPEN_H264_ID", "WIDEVINE_ID"],
|
||||
"hawkclient.js": ["HawkClient"],
|
||||
"hawkrequest.js": ["HAWKAuthenticatedRESTRequest", "deriveHawkCredentials"],
|
||||
"HelperApps.jsm": ["App", "HelperApps"],
|
||||
"history.js": ["HistoryEngine", "HistoryRec"],
|
||||
"history.jsm": ["HistoryEntry", "DumpHistory"],
|
||||
"Http.jsm": ["httpRequest", "percentEncode"],
|
||||
"httpd.js": ["HTTP_400", "HTTP_401", "HTTP_402", "HTTP_403", "HTTP_404", "HTTP_405", "HTTP_406", "HTTP_407", "HTTP_408", "HTTP_409", "HTTP_410", "HTTP_411", "HTTP_412", "HTTP_413", "HTTP_414", "HTTP_415", "HTTP_417", "HTTP_500", "HTTP_501", "HTTP_502", "HTTP_503", "HTTP_504", "HTTP_505", "HttpError", "HttpServer"],
|
||||
"identity.js": ["IdentityManager"],
|
||||
"Identity.jsm": ["IdentityService"],
|
||||
"IdentityUtils.jsm": ["checkDeprecated", "checkRenamed", "getRandomId", "objectCopy", "makeMessageObject"],
|
||||
"import_module.jsm": ["MODULE_IMPORTED", "MODULE_URI", "SUBMODULE_IMPORTED", "same_scope", "SUBMODULE_IMPORTED_TO_SCOPE"],
|
||||
"import_sub_module.jsm": ["SUBMODULE_IMPORTED", "test_obj"],
|
||||
"InlineSpellChecker.jsm": ["InlineSpellChecker", "SpellCheckHelper"],
|
||||
"JNI.jsm": ["JNI", "android_log"],
|
||||
"jpakeclient.js": ["JPAKEClient", "SendCredentialsController"],
|
||||
"Jsbeautify.jsm": ["jsBeautify"],
|
||||
"jsdebugger.jsm": ["addDebuggerToGlobal"],
|
||||
"json2.js": ["JSON"],
|
||||
"keys.js": ["BulkKeyBundle", "SyncKeyBundle"],
|
||||
"KeyValueParser.jsm": ["parseKeyValuePairsFromLines", "parseKeyValuePairs", "parseKeyValuePairsFromFile"],
|
||||
"kinto-http-client.js": ["KintoHttpClient"],
|
||||
"kinto-offline-client.js": ["loadKinto"],
|
||||
"loader-plugin-raw.jsm": ["requireRawId"],
|
||||
"loader.js": ["WorkerDebuggerLoader", "worker"],
|
||||
"Loader.jsm": ["DevToolsLoader", "devtools", "BuiltinProvider", "require", "loader"],
|
||||
"logger.jsm": ["Logger"],
|
||||
"logging.js": ["getTestLogger", "initTestLogging"],
|
||||
"LoginManagerContent.jsm": ["LoginManagerContent", "LoginFormFactory", "UserAutoCompleteResult"],
|
||||
"LoginRecipes.jsm": ["LoginRecipesContent", "LoginRecipesParent"],
|
||||
"logmanager.js": ["LogManager"],
|
||||
"LogUtils.jsm": ["Logger"],
|
||||
"lz4.js": ["Lz4"],
|
||||
"lz4_internal.js": ["Primitives"],
|
||||
"main.js": ["Weave"],
|
||||
"MatchPattern.jsm": ["MatchPattern", "MatchGlobs", "MatchURLFilters"],
|
||||
"mcc_iso3166_table.jsm": ["MCC_ISO3166_TABLE"],
|
||||
"message.js": ["Command", "Message", "MessageOrigin", "Response"],
|
||||
"Messaging.jsm": ["sendMessageToJava", "Messaging"],
|
||||
"microformat-shiv.js": ["Microformats"],
|
||||
"MigrationUtils.jsm": ["MigrationUtils", "MigratorPrototype"],
|
||||
"MinimalIdentity.jsm": ["IdentityService"],
|
||||
"mozelement.js": ["Elem", "Selector", "ID", "Link", "XPath", "Name", "Lookup", "MozMillElement", "MozMillCheckBox", "MozMillRadio", "MozMillDropList", "MozMillTextBox", "subclasses"],
|
||||
"mozmill.js": ["controller", "utils", "elementslib", "os", "getBrowserController", "newBrowserController", "getAddonsController", "getPreferencesController", "newMail3PaneController", "getMail3PaneController", "wm", "platform", "getAddrbkController", "getMsgComposeController", "getDownloadsController", "Application", "findElement", "getPlacesController", "isMac", "isLinux", "isWindows", "firePythonCallback", "getAddons"],
|
||||
"msgbroker.js": ["addListener", "addObject", "removeListener", "sendMessage", "log", "pass", "fail"],
|
||||
"MulticastDNSAndroid.jsm": ["MulticastDNS"],
|
||||
"NativeMessaging.jsm": ["HostManifestManager", "NativeApp"],
|
||||
"NetworkPrioritizer.jsm": ["trackBrowserWindow"],
|
||||
"NotificationDB.jsm": [],
|
||||
"nsFormAutoCompleteResult.jsm": ["FormAutoCompleteResult"],
|
||||
"objects.js": ["getLength"],
|
||||
"observers.js": ["Observers"],
|
||||
"offlineAppCache.jsm": ["OfflineAppCacheHelper"],
|
||||
"OrientationChangeHandler.jsm": [],
|
||||
"os.js": ["listDirectory", "getFileForPath", "abspath", "getPlatform"],
|
||||
"osfile.jsm": ["OS"],
|
||||
"osfile_async_front.jsm": ["OS"],
|
||||
"osfile_native.jsm": ["read"],
|
||||
"osfile_shared_allthreads.jsm": ["LOG", "clone", "Config", "Constants", "Type", "HollowStructure", "OSError", "Library", "declareFFI", "declareLazy", "declareLazyFFI", "normalizeBufferArgs", "projectValue", "isArrayBuffer", "isTypedArray", "defineLazyGetter", "OS"],
|
||||
"osfile_unix_allthreads.jsm": ["declareFFI", "libc", "Error", "AbstractInfo", "AbstractEntry", "Type", "POS_START", "POS_CURRENT", "POS_END"],
|
||||
"osfile_win_allthreads.jsm": ["declareFFI", "libc", "Error", "AbstractInfo", "AbstractEntry", "Type", "POS_START", "POS_CURRENT", "POS_END"],
|
||||
"ospath_unix.jsm": ["basename", "dirname", "join", "normalize", "split", "toFileURI", "fromFileURI"],
|
||||
"ospath_win.jsm": ["basename", "dirname", "join", "normalize", "split", "winGetDrive", "winIsAbsolute", "toFileURI", "fromFileURI"],
|
||||
"OutputGenerator.jsm": ["UtteranceGenerator", "BrailleGenerator"],
|
||||
"PageMenu.jsm": ["PageMenuParent", "PageMenuChild"],
|
||||
"PageThumbs.jsm": ["PageThumbs", "PageThumbsStorage"],
|
||||
"Parser.jsm": ["Parser", "ParserHelpers", "SyntaxTreeVisitor"],
|
||||
"parsingTestHelpers.jsm": ["generateURIsFromDirTree"],
|
||||
"passwords.js": ["PasswordEngine", "LoginRec", "PasswordValidator"],
|
||||
"passwords.jsm": ["Password", "DumpPasswords"],
|
||||
"PdfJsNetwork.jsm": ["NetworkManager"],
|
||||
"PermissionSettings.jsm": ["PermissionSettingsModule"],
|
||||
"PermissionsTable.jsm": ["PermissionsTable", "PermissionsReverseTable", "expandPermissions", "appendAccessToPermName", "isExplicitInPermissionsTable", "AllPossiblePermissions"],
|
||||
"PhoneNumberMetaData.jsm": ["PHONE_NUMBER_META_DATA"],
|
||||
"PlacesUtils.jsm": ["PlacesUtils", "PlacesAggregatedTransaction", "PlacesCreateFolderTransaction", "PlacesCreateBookmarkTransaction", "PlacesCreateSeparatorTransaction", "PlacesCreateLivemarkTransaction", "PlacesMoveItemTransaction", "PlacesRemoveItemTransaction", "PlacesEditItemTitleTransaction", "PlacesEditBookmarkURITransaction", "PlacesSetItemAnnotationTransaction", "PlacesSetPageAnnotationTransaction", "PlacesEditBookmarkKeywordTransaction", "PlacesEditBookmarkPostDataTransaction", "PlacesEditItemDateAddedTransaction", "PlacesEditItemLastModifiedTransaction", "PlacesSortFolderByNameTransaction", "PlacesTagURITransaction", "PlacesUntagURITransaction"],
|
||||
"PluginProvider.jsm": [],
|
||||
"PointerAdapter.jsm": ["PointerRelay", "PointerAdapter"],
|
||||
"policies.js": ["ErrorHandler", "SyncScheduler"],
|
||||
"prefs.js": ["PrefsEngine", "PrefRec"],
|
||||
"prefs.jsm": ["Preference"],
|
||||
"PresentationDeviceInfoManager.jsm": ["PresentationDeviceInfoService"],
|
||||
"PromiseWorker.jsm": ["BasePromiseWorker"],
|
||||
"PushCrypto.jsm": ["PushCrypto", "concatArray"],
|
||||
"quit.js": ["goQuitApplication"],
|
||||
"record.js": ["WBORecord", "RecordManager", "CryptoWrapper", "CollectionKeyManager", "Collection"],
|
||||
"recursive_importA.jsm": ["foo", "bar"],
|
||||
"recursive_importB.jsm": ["baz", "qux"],
|
||||
"reflect.jsm": ["Reflect"],
|
||||
"RemoteFinder.jsm": ["RemoteFinder", "RemoteFinderListener"],
|
||||
"RemotePageManager.jsm": ["RemotePages", "RemotePageManager", "PageListener"],
|
||||
"RemoteWebProgress.jsm": ["RemoteWebProgressManager"],
|
||||
"resource.js": ["AsyncResource", "Resource"],
|
||||
"responsivedesign.jsm": ["ResponsiveUIManager"],
|
||||
"rest.js": ["RESTRequest", "RESTResponse", "TokenAuthenticatedRESTRequest", "SyncStorageRequest"],
|
||||
"rotaryengine.js": ["RotaryEngine", "RotaryRecord", "RotaryStore", "RotaryTracker"],
|
||||
"RTCStatsReport.jsm": ["convertToRTCStatsReport"],
|
||||
"scratchpad-manager.jsm": ["ScratchpadManager"],
|
||||
"server.js": ["MarionetteServer"],
|
||||
"service.js": ["Service"],
|
||||
"SettingsDB.jsm": ["SettingsDB", "SETTINGSDB_NAME", "SETTINGSSTORE_NAME"],
|
||||
"SharedPromptUtils.jsm": ["PromptUtils", "EnableDelayHelper"],
|
||||
"ShutdownLeaksCollector.jsm": ["ContentCollector"],
|
||||
"SignInToWebsite.jsm": ["SignInToWebsiteController"],
|
||||
"Social.jsm": ["Social", "OpenGraphBuilder", "DynamicResizeWatcher", "sizeSocialPanelToContent"],
|
||||
"SpecialPowersObserver.jsm": ["SpecialPowersObserver", "SpecialPowersObserverFactory"],
|
||||
"stack.js": ["findCallerFrame"],
|
||||
"StateMachineHelper.jsm": ["State", "CommandType"],
|
||||
"status.js": ["Status"],
|
||||
"storageserver.js": ["ServerBSO", "StorageServerCallback", "StorageServerCollection", "StorageServer", "storageServerForUsers"],
|
||||
"stringbundle.js": ["StringBundle"],
|
||||
"strings.js": ["trim", "vslice"],
|
||||
"StructuredLog.jsm": ["StructuredLogger", "StructuredFormatter"],
|
||||
"StyleEditorUtil.jsm": ["getString", "assert", "log", "text", "wire", "showFilePicker"],
|
||||
"subprocess_common.jsm": ["BaseProcess", "PromiseWorker", "SubprocessConstants"],
|
||||
"subprocess_unix.jsm": ["SubprocessImpl"],
|
||||
"subprocess_win.jsm": ["SubprocessImpl"],
|
||||
"sync.jsm": ["Authentication"],
|
||||
"tabs.js": ["TabEngine", "TabSetRecord"],
|
||||
"tabs.jsm": ["BrowserTabs"],
|
||||
"tcpsocket_test.jsm": ["createSocket", "createServer", "enablePrefsAndPermissions", "socketCompartmentInstanceOfArrayBuffer"],
|
||||
"telemetry.js": ["SyncTelemetry"],
|
||||
"test.jsm": ["Foo"],
|
||||
"test2.jsm": ["Bar"],
|
||||
"test_bug883784.jsm": ["Test"],
|
||||
"Timer.jsm": ["setTimeout", "clearTimeout", "setInterval", "clearInterval"],
|
||||
"tokenserverclient.js": ["TokenServerClient", "TokenServerClientError", "TokenServerClientNetworkError", "TokenServerClientServerError"],
|
||||
"ToolboxProcess.jsm": ["BrowserToolboxProcess"],
|
||||
"tps.jsm": ["ACTIONS", "TPS"],
|
||||
"Translation.jsm": ["Translation", "TranslationTelemetry"],
|
||||
"Traversal.jsm": ["TraversalRules", "TraversalHelper"],
|
||||
"UpdateTelemetry.jsm": ["AUSTLMY"],
|
||||
"userapi.js": ["UserAPI10Client"],
|
||||
"util.js": ["getChromeWindow", "XPCOMUtils", "Services", "Utils", "Async", "Svc", "Str"],
|
||||
"utils.js": ["applicationName", "assert", "Copy", "getBrowserObject", "getChromeWindow", "getWindows", "getWindowByTitle", "getWindowByType", "getWindowId", "getMethodInWindows", "getPreference", "saveDataURL", "setPreference", "sleep", "startTimer", "stopTimer", "takeScreenshot", "unwrapNode", "waitFor", "btoa", "encryptPayload", "isConfiguredWithLegacyIdentity", "ensureLegacyIdentityManager", "setBasicCredentials", "makeIdentityConfig", "makeFxAccountsInternalMock", "configureFxAccountIdentity", "configureIdentity", "SyncTestingInfrastructure", "waitForZeroTimer", "Promise", "add_identity_test", "MockFxaStorageManager", "AccountState", "sumHistogram", "CommonUtils", "CryptoUtils", "TestingUtils"],
|
||||
"Utils.jsm": ["Utils", "Logger", "PivotContext", "PrefCache", "SettingCache"],
|
||||
"VariablesView.jsm": ["VariablesView", "escapeHTML"],
|
||||
"VariablesViewController.jsm": ["VariablesViewController", "StackFrameUtils"],
|
||||
"version.jsm": ["VERSION"],
|
||||
"vtt.jsm": ["WebVTT"],
|
||||
"WebChannel.jsm": ["WebChannel", "WebChannelBroker"],
|
||||
"WindowDraggingUtils.jsm": ["WindowDraggingElement"],
|
||||
"windows.js": ["init", "map"],
|
||||
"windows.jsm": ["BrowserWindows"],
|
||||
"WindowsJumpLists.jsm": ["WinTaskbarJumpList"],
|
||||
"WindowsPreviewPerTab.jsm": ["AeroPeek"],
|
||||
"withs.js": ["startsWith", "endsWith"],
|
||||
"xul-app.jsm": ["XulApp"]
|
||||
}
|
Loading…
Reference in New Issue
Block a user