1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/layout/style/test/visited_image_loading.sjs Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,60 @@ 1.4 +function handleRequest(request, response) 1.5 +{ 1.6 + response.setHeader("Cache-Control", "no-cache", false); 1.7 + var query = request.queryString; 1.8 + switch (query) { 1.9 + case "reset": 1.10 + response.setHeader("Content-Type", "application/ecmascript", false); 1.11 + setState("1l", ""); 1.12 + setState("1v", ""); 1.13 + setState("2l", ""); 1.14 + setState("2v", ""); 1.15 + break; 1.16 + case "1l": 1.17 + case "1v": 1.18 + case "2l": 1.19 + case "2v": 1.20 + setState(query, getState(query) + "load"); 1.21 + response.setStatusLine("1.1", 302, "Found"); 1.22 + // redirect to a solid blue image 1.23 + response.setHeader("Location", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12NgYPgPAAEDAQDZqt2zAAAAAElFTkSuQmCC"); 1.24 + response.setHeader("Content-Type", "text/plain", false); 1.25 + break; 1.26 + 1.27 + case "waitforresult": 1.28 + response.setHeader("Content-Type", "application/ecmascript", false); 1.29 + response.write("var start = Date.now();\n"); 1.30 + // fall through! 1.31 + 1.32 + case "waitforresult-internal": 1.33 + response.setHeader("Content-Type", "application/ecmascript", false); 1.34 + response.write("if ('" + getState("1l") + "' == 'load' && '" + 1.35 + getState("1v") + "' == '' && '" + 1.36 + getState("2l") + "' == 'load' && '" + 1.37 + getState("2v") + "' == '') { \n"); 1.38 + response.write("setTimeout(function() {\n"); 1.39 + response.write("var s = document.createElement('script');\n"); 1.40 + response.write("s.src = 'visited_image_loading.sjs?result';\n"); 1.41 + response.write("document.body.appendChild(s);"); 1.42 + response.write("}, Math.max(100, 2 * (Date.now() - start)));\n"); 1.43 + response.write("} else setTimeout(function() {\n"); 1.44 + response.write("var s = document.createElement('script');\n"); 1.45 + response.write("s.src = 'visited_image_loading.sjs?waitforresult-internal';\n"); 1.46 + response.write("document.body.appendChild(s);"); 1.47 + response.write("}, 10);\n"); 1.48 + break; 1.49 + 1.50 + case "result": 1.51 + response.setHeader("Content-Type", "application/ecmascript", false); 1.52 + response.write("is('" + getState("1l") + 1.53 + "', 'load', 'image 1l should have been loaded once')\n"); 1.54 + response.write("is('" + getState("1v") + 1.55 + "', '', 'image 1v should not have been loaded')\n"); 1.56 + response.write("is('" + getState("2l") + 1.57 + "', 'load', 'image 2l should have been loaded once')\n"); 1.58 + response.write("is('" + getState("2v") + 1.59 + "', '', 'image 2v should not have been loaded')\n"); 1.60 + response.write("SimpleTest.finish()"); 1.61 + break; 1.62 + } 1.63 +}