netwerk/test/unit/test_dns_service.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

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.

michael@0 1 var dns = Cc["@mozilla.org/network/dns-service;1"].getService(Ci.nsIDNSService);
michael@0 2
michael@0 3 var listener = {
michael@0 4 onLookupComplete: function(inRequest, inRecord, inStatus) {
michael@0 5 var answer = inRecord.getNextAddrAsString();
michael@0 6 do_check_true(answer == "127.0.0.1" || answer == "::1");
michael@0 7
michael@0 8 do_test_finished();
michael@0 9 },
michael@0 10 QueryInterface: function(aIID) {
michael@0 11 if (aIID.equals(Ci.nsIDNSListener) ||
michael@0 12 aIID.equals(Ci.nsISupports)) {
michael@0 13 return this;
michael@0 14 }
michael@0 15 throw Cr.NS_ERROR_NO_INTERFACE;
michael@0 16 }
michael@0 17 };
michael@0 18
michael@0 19 function run_test() {
michael@0 20 var threadManager = Cc["@mozilla.org/thread-manager;1"].getService(Ci.nsIThreadManager);
michael@0 21 var mainThread = threadManager.currentThread;
michael@0 22 dns.asyncResolve("localhost", 0, listener, mainThread);
michael@0 23
michael@0 24 do_test_pending();
michael@0 25 }
michael@0 26

mercurial