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

Unified Diff: lib/compat.js

Issue 29512648: Issue 5475 - Update adblockpluscore dependency to revision hg:b935a0402215 (Closed) Base URL: https://github.com/adblockplus/libadblockplus.git
Patch Set: Created Aug. 11, 2017, 12:36 p.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
Index: lib/compat.js
diff --git a/lib/compat.js b/lib/compat.js
index c63ed31b036973f96be28d1fdeab7a2439887008..6d270b7118e41f513dae03756da4f7e27aed5887 100644
--- a/lib/compat.js
+++ b/lib/compat.js
@@ -44,16 +44,12 @@ onShutdown = {
// XPCOM emulation
//
-var Components =
+const Components =
{
interfaces:
{
- nsIFile: {DIRECTORY_TYPE: 0},
sergei 2017/08/11 12:49:39 Some parts of Components seem to be removed long a
- nsIFileURL: function() {},
nsIHttpChannel: function() {},
nsITimer: {TYPE_REPEATING_SLACK: 0},
- nsIInterfaceRequestor: null,
- nsIChannelEventSink: null
},
classes:
{
@@ -64,105 +60,41 @@ var Components =
return new FakeTimer();
}
},
- "@mozilla.org/xmlextras/xmlhttprequest;1":
- {
- createInstance: function()
- {
- return new XMLHttpRequest();
- }
- }
},
- results: {},
utils: {
reportError: function(e)
{
console.error(e);
console.trace();
},
- import: function()
+ import: function(resource)
{
+ let match = /^resource:\/\/gre\/modules\/(.+)\.jsm$/.exec(resource);
sergei 2017/08/11 12:49:38 it's taken from https://github.com/adblockplus/adb
+ 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);
}
},
- manager: null,
- ID: function()
- {
- return null;
- }
};
+
const Cc = Components.classes;
const Ci = Components.interfaces;
-const Cr = Components.results;
const Cu = Components.utils;
-var XPCOMUtils =
-{
- generateQI: function() {}
-};
-
-//
-// Fake nsIFile implementation for our I/O
-//
+Cu.import.resources = new Map();
-function FakeFile(path)
sergei 2017/08/11 12:49:38 Removed because of #5059
+Cu.import.resources.set("XPCOMUtils",
{
- this.path = path;
-}
-FakeFile.prototype =
-{
- get leafName()
- {
- return this.path;
- },
- set leafName(value)
- {
- this.path = value;
- },
- append: function(path)
- {
- this.path += path;
- },
- clone: function()
- {
- return new FakeFile(this.path);
- },
- get parent()
- {
- return {create: function() {}};
- },
- normalize: function() {}
-};
+ generateQI: function() {}
+});
//
// Services.jsm module emulation
//
-var Services =
+Cu.import.resources.set("Services",
{
- io: {
- newURI: function(uri)
- {
- if (!uri.length || uri[0] == "~")
- throw new Error("Invalid URI");
-
- /^([^:\/]*)/.test(uri);
- var scheme = RegExp.$1.toLowerCase();
-
- return {
- scheme: scheme,
- spec: uri,
- QueryInterface: function()
- {
- return this;
- }
- };
- },
- newFileURI: function(file)
- {
- var result = this.newURI("file:///" + file.path);
- result.file = file;
- return result;
- }
- },
obs: {
addObserver: function() {},
removeObserver: function() {}
@@ -235,16 +167,7 @@ var Services =
return 0;
}
}
-}
-
-//
-// FileUtils.jsm module emulation
-//
-
-var FileUtils =
-{
- PERMS_DIRECTORY: 0
-};
+});
function FakeTimer()
{

Powered by Google App Engine
This is Rietveld