Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: lib/compat.js

Issue 29374674: Issue 4864 - Start using ESLint for adblockpluschrome (Closed)
Patch Set: Addressed Wladimir's feedback Created March 15, 2017, 4:51 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include.preload.js ('k') | lib/csp.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/compat.js
diff --git a/lib/compat.js b/lib/compat.js
index c2b09dd500f241a8dc1ace2c7bbae6259d15b42a..f4037fcbba94206708765c913a0ccc48ef146dba 100644
--- a/lib/compat.js
+++ b/lib/compat.js
@@ -33,13 +33,6 @@ function require(module)
require.modules = Object.create(null);
require.scopes = Object.create(null);
-function importAll(module, globalObj)
-{
- let exports = require(module);
- for (let key in exports)
- globalObj[key] = exports[key];
-}
-
let onShutdown = {
done: false,
add() {},
@@ -53,8 +46,7 @@ let onShutdown = {
function nsIFileURL() {}
function nsIHttpChannel() {}
-let Components =
-{
+let Components = {
interfaces:
{
nsIFile: {DIRECTORY_TYPE: 0},
@@ -77,8 +69,16 @@ let Components =
},
results: {},
utils: {
- import()
+ import(resource)
{
+ let match = /^resource:\/\/gre\/modules\/(.+)\.jsm$/.exec(resource);
+ let resourceName = match && match[1];
+ if (resourceName && Cu.import.resources.has(resourceName))
+ return {[resourceName]: Cu.import.resources.get(resourceName)};
+
+ throw new Error(
+ "Attempt to import unknown JavaScript module " + resource
+ );
},
reportError(e)
{
@@ -94,10 +94,11 @@ const Ci = Components.interfaces;
const Cr = Components.results;
const Cu = Components.utils;
-let XPCOMUtils =
-{
+Cu.import.resources = new Map();
+
+Cu.import.resources.set("XPCOMUtils", {
generateQI() {}
-};
+});
//
// Fake nsIFile implementation for our I/O
@@ -136,8 +137,7 @@ FakeFile.prototype =
// Services.jsm module emulation
//
-let Services =
-{
+Cu.import.resources.set("Services", {
obs: {
addObserver() {},
removeObserver() {}
@@ -210,22 +210,20 @@ let Services =
return 0;
}
}
-}
+});
//
// FileUtils.jsm module emulation
//
-let FileUtils =
-{
+Cu.import.resources.set("FileUtils", {
PERMS_DIRECTORY: 0
-};
+});
function FakeTimer()
{
}
-FakeTimer.prototype =
-{
+FakeTimer.prototype = {
delay: 0,
callback: null,
initWithCallback(callback, delay)
@@ -242,7 +240,7 @@ FakeTimer.prototype =
{
this.callback();
}
- catch(e)
+ catch (e)
{
Cu.reportError(e);
}
@@ -255,8 +253,7 @@ FakeTimer.prototype =
// Add a channel property to XMLHttpRequest, Synchronizer needs it
//
-XMLHttpRequest.prototype.channel =
-{
+XMLHttpRequest.prototype.channel = {
status: -1,
notificationCallbacks: {},
loadFlags: 0,
« no previous file with comments | « include.preload.js ('k') | lib/csp.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld