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

Side by Side Diff: lib/compat.js

Issue 29374674: Issue 4864 - Start using ESLint for adblockpluschrome (Closed)
Patch Set: Use var for ext declarations again Created Feb. 8, 2017, 9:02 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2016 Eyeo GmbH 3 * Copyright (C) 2006-2016 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 let onShutdown = { 43 let onShutdown = {
44 done: false, 44 done: false,
45 add() {}, 45 add() {},
46 remove() {} 46 remove() {}
47 }; 47 };
48 48
49 // 49 //
50 // XPCOM emulation 50 // XPCOM emulation
51 // 51 //
52 52
53 let Components = 53 let Components = {
54 {
55 interfaces: 54 interfaces:
56 { 55 {
57 nsIFile: {DIRECTORY_TYPE: 0}, 56 nsIFile: {DIRECTORY_TYPE: 0},
58 nsIFileURL() {}, 57 nsIFileURL() {},
59 nsIHttpChannel() {}, 58 nsIHttpChannel() {},
60 nsITimer: {TYPE_REPEATING_SLACK: 0}, 59 nsITimer: {TYPE_REPEATING_SLACK: 0},
61 nsIInterfaceRequestor: null, 60 nsIInterfaceRequestor: null,
62 nsIChannelEventSink: null 61 nsIChannelEventSink: null
63 }, 62 },
64 classes: 63 classes:
(...skipping 19 matching lines...) Expand all
84 } 83 }
85 }, 84 },
86 manager: null, 85 manager: null,
87 ID() { return null; } 86 ID() { return null; }
88 }; 87 };
89 const Cc = Components.classes; 88 const Cc = Components.classes;
90 const Ci = Components.interfaces; 89 const Ci = Components.interfaces;
91 const Cr = Components.results; 90 const Cr = Components.results;
92 const Cu = Components.utils; 91 const Cu = Components.utils;
93 92
94 let XPCOMUtils = 93 let XPCOMUtils = {
95 {
96 generateQI() {} 94 generateQI() {}
97 }; 95 };
98 96
99 // 97 //
100 // Fake nsIFile implementation for our I/O 98 // Fake nsIFile implementation for our I/O
101 // 99 //
102 100
103 function FakeFile(path) 101 function FakeFile(path)
104 { 102 {
105 this.path = path; 103 this.path = path;
(...skipping 20 matching lines...) Expand all
126 { 124 {
127 return {create() {}}; 125 return {create() {}};
128 }, 126 },
129 normalize() {} 127 normalize() {}
130 }; 128 };
131 129
132 // 130 //
133 // Services.jsm module emulation 131 // Services.jsm module emulation
134 // 132 //
135 133
136 let Services = 134 let Services = {
137 {
138 obs: { 135 obs: {
139 addObserver() {}, 136 addObserver() {},
140 removeObserver() {} 137 removeObserver() {}
141 }, 138 },
142 vc: { 139 vc: {
143 compare(v1, v2) 140 compare(v1, v2)
144 { 141 {
145 function parsePart(s) 142 function parsePart(s)
146 { 143 {
147 if (!s) 144 if (!s)
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 let parts2 = v2.split("."); 197 let parts2 = v2.split(".");
201 for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) 198 for (let i = 0; i < Math.max(parts1.length, parts2.length); i++)
202 { 199 {
203 let result = compareParts(parsePart(parts1[i]), parsePart(parts2[i])); 200 let result = compareParts(parsePart(parts1[i]), parsePart(parts2[i]));
204 if (result) 201 if (result)
205 return result; 202 return result;
206 } 203 }
207 return 0; 204 return 0;
208 } 205 }
209 } 206 }
210 } 207 };
211 208
212 // 209 //
213 // FileUtils.jsm module emulation 210 // FileUtils.jsm module emulation
214 // 211 //
215 212
216 let FileUtils = 213 let FileUtils = {
217 {
218 PERMS_DIRECTORY: 0 214 PERMS_DIRECTORY: 0
219 }; 215 };
220 216
221 function FakeTimer() 217 function FakeTimer()
222 { 218 {
223 } 219 }
224 FakeTimer.prototype = 220 FakeTimer.prototype = {
225 {
226 delay: 0, 221 delay: 0,
227 callback: null, 222 callback: null,
228 initWithCallback(callback, delay) 223 initWithCallback(callback, delay)
229 { 224 {
230 this.callback = callback; 225 this.callback = callback;
231 this.delay = delay; 226 this.delay = delay;
232 this.scheduleTimeout(); 227 this.scheduleTimeout();
233 }, 228 },
234 scheduleTimeout() 229 scheduleTimeout()
235 { 230 {
236 window.setTimeout(() => 231 window.setTimeout(() =>
237 { 232 {
238 try 233 try
239 { 234 {
240 this.callback(); 235 this.callback();
241 } 236 }
242 catch(e) 237 catch (e)
243 { 238 {
244 Cu.reportError(e); 239 Cu.reportError(e);
245 } 240 }
246 this.scheduleTimeout(); 241 this.scheduleTimeout();
247 }, this.delay); 242 }, this.delay);
248 } 243 }
249 }; 244 };
250 245
251 // 246 //
252 // Add a channel property to XMLHttpRequest, Synchronizer needs it 247 // Add a channel property to XMLHttpRequest, Synchronizer needs it
253 // 248 //
254 249
255 XMLHttpRequest.prototype.channel = 250 XMLHttpRequest.prototype.channel = {
256 {
257 status: -1, 251 status: -1,
258 notificationCallbacks: {}, 252 notificationCallbacks: {},
259 loadFlags: 0, 253 loadFlags: 0,
260 INHIBIT_CACHING: 0, 254 INHIBIT_CACHING: 0,
261 VALIDATE_ALWAYS: 0, 255 VALIDATE_ALWAYS: 0,
262 QueryInterface() 256 QueryInterface()
263 { 257 {
264 return this; 258 return this;
265 } 259 }
266 }; 260 };
OLDNEW

Powered by Google App Engine
This is Rietveld