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 function handleRequest(request, response)
2 {
3 var file = Components.classes["@mozilla.org/file/directory_service;1"]
4 .getService(Components.interfaces.nsIProperties)
5 .get("CurWorkD", Components.interfaces.nsIFile);
7 file.append("tests");
8 file.append("image");
9 file.append("test");
10 file.append("mochitest");
12 var filestate = "/image/test/mochitest/bug671906.sjs";
13 if (getState(filestate) == "") {
14 file.append('blue.png');
15 setState(filestate, "red");
16 } else {
17 file.append('red.png');
18 setState(filestate, "");
19 }
21 // Set the expires date to some silly time in the future so we're sure to
22 // *want* to cache this image.
23 var date = new Date();
24 date.setFullYear(date.getFullYear() + 1);
25 response.setHeader("Expires", date.toUTCString(), false);
27 var fileStream = Components.classes['@mozilla.org/network/file-input-stream;1']
28 .createInstance(Components.interfaces.nsIFileInputStream);
29 fileStream.init(file, 1, 0, false);
31 response.bodyOutputStream.writeFrom(fileStream, fileStream.available());
33 fileStream.close();
35 response.setHeader("Access-Control-Allow-Origin", "*", false);
36 }