Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
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/. */
5 function handleRequest(request, response) {
6 response.setHeader("Cache-Control", "no-cache", false);
8 let loadedStateKey = "sandbox_content_loaded";
9 switch(request.queryString) {
10 case "reset": {
11 setState(loadedStateKey, "");
12 response.write("reset");
13 break;
14 }
15 case "get_loaded": {
16 response.setHeader("Content-Type", "text/plain", false);
17 let loaded = getState(loadedStateKey);
18 if (loaded)
19 response.write(loaded);
20 else
21 response.write("NOTHING");
22 break;
23 }
24 default: {
25 let contentType = decodeURIComponent(request.queryString);
26 // set the Content-Type equal to the query string
27 response.setHeader("Content-Type", contentType, false);
28 // If any content is loaded, append it's content type in state
29 let loaded = getState(loadedStateKey);
30 if (loaded)
31 loaded += ",";
32 setState(loadedStateKey, loaded + contentType);
33 break;
34 }
35 }
36 }