LEFT | RIGHT |
| 1 "use strict"; |
| 2 |
1 "Compiled from https://hg.adblockplus.org/adblockplus/ with Emscripten {{{EMSCRI
PTEN_VERSION}}}"; | 3 "Compiled from https://hg.adblockplus.org/adblockplus/ with Emscripten {{{EMSCRI
PTEN_VERSION}}}"; |
2 | 4 |
3 var sizeofString = 0; | |
4 var FilterNotifier = require("filterNotifier").FilterNotifier; | 5 var FilterNotifier = require("filterNotifier").FilterNotifier; |
5 | |
6 function copyString(str, buffer) | |
7 { | |
8 var length = str.length; | |
9 for (var i = 0, pointer = (buffer >> 1); i < length; i++, pointer++) | |
10 HEAP16[pointer] = str.charCodeAt(i); | |
11 return length; | |
12 } | |
13 | |
14 function createString(str) | |
15 { | |
16 var length = 0; | |
17 var buffer = 0; | |
18 if (str) | |
19 { | |
20 buffer = Runtime.stackAlloc(str.length * 2); | |
21 length = copyString(str, buffer); | |
22 } | |
23 | |
24 if (!sizeofString) | |
25 sizeofString = Module._GetSizeofString(); | |
26 var result = Module.Runtime.stackAlloc(sizeofString); | |
27 Module._InitString(result, buffer, length); | |
28 return result; | |
29 } | |
30 | |
31 function getStringData(str) | |
32 { | |
33 var length = Module._GetStringLength(str); | |
34 var pointer = Module._GetStringData(str) >> 1; | |
35 return String.fromCharCode.apply(String, HEAP16.slice(pointer, pointer + lengt
h)); | |
36 } | |
37 | |
38 function createClass(superclass) | |
39 { | |
40 var result = function(pointer) | |
41 { | |
42 this._pointer = pointer; | |
43 }; | |
44 if (superclass) | |
45 result.prototype = Object.create(superclass.prototype); | |
46 result.prototype.delete = function() | |
47 { | |
48 Module._DeletePointer(this._pointer); | |
49 }; | |
50 return result; | |
51 } | |
52 | 6 |
53 var regexps = | 7 var regexps = |
54 { | 8 { |
55 _data: Object.create(null), | 9 _data: Object.create(null), |
56 _counter: 0, | 10 _counter: 0, |
57 | 11 |
58 create: function(source, matchCase) | 12 create: function(source, matchCase) |
59 { | 13 { |
60 var id = ++this._counter; | 14 var id = ++this._counter; |
61 try | 15 try |
62 { | 16 { |
63 this._data[id] = new RegExp(getStringData(source), matchCase ? "" : "i"); | 17 this._data[id] = new RegExp(readString(source), matchCase ? "" : "i"); |
| 18 return id; |
64 } | 19 } |
65 catch (e) | 20 catch (e) |
66 { | 21 { |
67 this._data[id] = String(e); | |
68 } | |
69 return id; | |
70 }, | |
71 | |
72 getErrorLength: function(id) | |
73 { | |
74 if (typeof this._data[id] == "string") | |
75 return this._data[id].length; | |
76 else | |
77 return -1; | 22 return -1; |
78 }, | |
79 | |
80 getError: function(id, buffer) | |
81 { | |
82 if (typeof this._data[id] == "string") | |
83 { | |
84 copyString(this._data[id], buffer); | |
85 delete this._data[id]; | |
86 } | 23 } |
87 }, | 24 }, |
88 | 25 |
89 delete: function(id) | 26 delete: function(id) |
90 { | 27 { |
91 delete this._data[id]; | 28 delete this._data[id]; |
92 }, | 29 }, |
93 | 30 |
94 test: function(id, str) | 31 test: function(id, str) |
95 { | 32 { |
96 return this._data[id].test(getStringData(str)); | 33 return this._data[id].test(readString(str)); |
97 } | 34 } |
98 }; | 35 }; |
99 | 36 |
100 var Module = | 37 var Module = |
101 { | 38 { |
102 preRun: [], | 39 preRun: [], |
103 postRun: [], | 40 postRun: [], |
104 print: console.log.bind(console), | 41 print: console.log.bind(console), |
105 printErr: console.error.bind(console), | 42 printErr: console.error.bind(console), |
106 | 43 |
(...skipping 10 matching lines...) Expand all Loading... |
117 'total_memory': TOTAL_MEMORY | 54 'total_memory': TOTAL_MEMORY |
118 }; | 55 }; |
119 } | 56 } |
120 }; | 57 }; |
121 var ENVIRONMENT_IS_WEB = false, ENVIRONMENT_IS_NODE = false, | 58 var ENVIRONMENT_IS_WEB = false, ENVIRONMENT_IS_NODE = false, |
122 ENVIRONMENT_IS_WORKER = false, ENVIRONMENT_IS_SHELL = true; | 59 ENVIRONMENT_IS_WORKER = false, ENVIRONMENT_IS_SHELL = true; |
123 | 60 |
124 {{BODY}} | 61 {{BODY}} |
125 | 62 |
126 Object.assign(exports, Module); | 63 Object.assign(exports, Module); |
LEFT | RIGHT |