1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
/**
* GNU LibreJSXUL - A browser add-on to block nonfree nontrivial JavaScript.
* *
* Copyright (C) 2011, 2012, 2014 Loic J. Duros
* Copyright (C) 2014, 2015 Nik Nyby
*
* This file is part of GNU LibreJSXUL.
*
* GNU LibreJSXUL is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GNU LibreJSXUL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNU LibreJSXUL. If not, see <http://www.gnu.org/licenses/>.
*/
var jsLoadObserver = require("../lib/js_load_observer/js_load_observer");
var tabs = require("sdk/tabs");
// use the two buckets.
var removedScripts = require("../lib/script_entries/removed_scripts")
.removedScripts;
var acceptedScripts = require("../lib/script_entries/accepted_scripts")
.acceptedScripts;
var mockDom = require("./mock/mock_dom");
// FIXME
/*exports.testCheckInlineScriptAccepted = function (test) {
var dom = mockDom.emptyDocument();
var script = dom.createElement('script');
var e = {
target: script,
preventDefault: function () {
console.log('default prevented');
}
};
e.target.ownerDocument = { URL: 'http://example.org/' };
e.target.textContent = "var num = 10;";
acceptedScripts.addAScript(e.target.ownerDocument.URL, {
inline: true,
contents: e.target.textContent
});
jsLoadObserver.scriptAnalyzer.analyzeScriptBeforeExec(e);
test.assertEqual(
jsLoadObserver.scriptAnalyzer.checkInlineScript(e.target),
true,
"not found in accepted scripts");
};*/
// FIXME
/*exports.testCheckInlineScriptNotAcceptedThenAccepted = function (test) {
var dom = mockDom.emptyDocument();
var script = dom.createElement('script');
var e = { target: script };
e.target.ownerDocument = { URL: 'http://example.org/' };
e.target.textContent = "var num = 12;";
test.assertEqual(
jsLoadObserver.scriptAnalyzer.checkInlineScript(e.target),
false,
"found in accepted scripts");
acceptedScripts.addAScript(e.target.ownerDocument.URL,
{
inline: true,
contents: e.target.textContent
});
test.assertEqual(
jsLoadObserver.scriptAnalyzer.checkInlineScript(e.target),
true,
"not found in accepted scripts");
};*/
|