Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 // Tests that calling close on a converter in/output stream doesn't crash
2 // (bug 321379)
4 function run_test() {
5 var StorageStream = Components.Constructor("@mozilla.org/storagestream;1",
6 "nsIStorageStream",
7 "init");
8 var ConverterInputStream = Components.Constructor("@mozilla.org/intl/converter-input-stream;1",
9 "nsIConverterInputStream",
10 "init");
11 var ConverterOutputStream = Components.Constructor("@mozilla.org/intl/converter-output-stream;1",
12 "nsIConverterOutputStream",
13 "init");
17 var storage = new StorageStream(1024, -1, null);
19 // Output
20 var outStr = storage.getOutputStream(0);
21 var out = new ConverterOutputStream(outStr, "UTF-8", 1024, 0xFFFD);
22 out.writeString("Foo.");
23 out.close();
24 out.close(); // This line should not crash. It should just do nothing.
26 // Input
27 var inStr = storage.newInputStream(0);
28 var inp = new ConverterInputStream(inStr, "UTF-8", 1024, 0xFFFD);
29 inp.close();
30 inp.close(); // This line should not crash. It should just do nothing.
31 }