dom/tests/browser/network_geolocation.sjs

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 function parseQueryString(str)
     2 {
     3   if (str == "")
     4     return {};
     6   var paramArray = str.split("&");
     7   var regex = /^([^=]+)=(.*)$/;
     8   var params = {};
     9   for (var i = 0, sz = paramArray.length; i < sz; i++)
    10   {
    11     var match = regex.exec(paramArray[i]);
    12     if (!match)
    13       throw "Bad parameter in queryString!  '" + paramArray[i] + "'";
    14     params[decodeURIComponent(match[1])] = decodeURIComponent(match[2]);
    15   }
    17   return params;
    18 }
    20 function getPosition(expectedAccessToken, providedAccessToken, desiredAccessToken)
    21 {  
    22   var response = {
    23     status: "OK",
    24     location: {
    25       lat: providedAccessToken ?
    26              (expectedAccessToken == providedAccessToken ? 200 : 404) : 200,
    27       lng: -122.08769,
    28     },
    29     accuracy: 100,
    30     access_token: desiredAccessToken
    31   };
    33   return JSON.stringify(response);
    34 }
    36 function handleRequest(request, response)
    37 {
    38   var params = parseQueryString(request.queryString);
    40   response.setStatusLine("1.0", 200, "OK");
    41   response.setHeader("Cache-Control", "no-cache", false);
    42   response.setHeader("Content-Type", "aplication/x-javascript", false);
    43   response.write(getPosition(params.expected_access_token, params.access_token,
    44                              params.desired_access_token));
    45 }

mercurial