Thu, 15 Jan 2015 15:59:08 +0100
Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 "use strict";
6 var options = require("@loader/options");
8 exports.testPackaging = function(assert) {
9 assert.equal(options.metadata.description,
10 "Add-on development made easy.",
11 "packaging metadata should be available");
12 try {
13 options.metadata.description = 'new description';
14 assert.fail('should not have been able to set options.metadata property');
15 }
16 catch (e) {}
18 assert.equal(options.metadata.description,
19 "Add-on development made easy.",
20 "packaging metadata should be frozen");
22 assert.equal(options.metadata.permissions['private-browsing'], undefined,
23 "private browsing metadata should be undefined");
24 assert.equal(options.metadata['private-browsing'], undefined,
25 "private browsing metadata should be be frozen");
26 assert.equal(options['private-browsing'], undefined,
27 "private browsing metadata should be be frozen");
29 try {
30 options.metadata['private-browsing'] = true;
31 assert.fail('should not have been able to set options.metadata property');
32 }
33 catch(e) {}
34 assert.equal(options.metadata['private-browsing'], undefined,
35 "private browsing metadata should be be frozen");
37 try {
38 options.metadata.permissions['private-browsing'] = true;
39 assert.fail('should not have been able to set options.metadata.permissions property');
40 }
41 catch (e) {}
42 assert.equal(options.metadata.permissions['private-browsing'], undefined,
43 "private browsing metadata should be be frozen");
44 };
46 require('sdk/test').run(exports);