forked from mirrors/gecko-dev
		
	 5283aecc5d
			
		
	
	
		5283aecc5d
		
	
	
	
	
		
			
			Currently, soft reload uses the `VALIDATE_ALWAYS` flag to not only force revalidate the top level document, but also subresources. This causes content to be refetched from the web even if there are caches that are still valid and can be used. Chrome already has such behaviour to not revalidate all resources. Differential Revision: https://phabricator.services.mozilla.com/D122270
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| function handleRequest(request, response) {
 | |
|   const file = Components.classes["@mozilla.org/file/directory_service;1"]
 | |
|     .getService(Components.interfaces.nsIProperties)
 | |
|     .get("CurWorkD", Components.interfaces.nsIFile);
 | |
| 
 | |
|   file.append("tests");
 | |
|   file.append("image");
 | |
|   file.append("test");
 | |
|   file.append("mochitest");
 | |
| 
 | |
|   const redirectstate = "image_resource";
 | |
|   if (getState(redirectstate) == "") {
 | |
|     file.append("green.png");
 | |
|     setState(redirectstate, "green");
 | |
|   } else {
 | |
|     file.append("red.png");
 | |
|     setState(redirectstate, "");
 | |
|   }
 | |
| 
 | |
|   response.setHeader("Cache-Control", "max-age=3600", false);
 | |
| 
 | |
|   const fileStream = Components.classes[
 | |
|     "@mozilla.org/network/file-input-stream;1"
 | |
|   ].createInstance(Components.interfaces.nsIFileInputStream);
 | |
| 
 | |
|   fileStream.init(file, 1, 0, false);
 | |
|   const binaryStream = Components.classes[
 | |
|     "@mozilla.org/binaryinputstream;1"
 | |
|   ].createInstance(Components.interfaces.nsIBinaryInputStream);
 | |
|   binaryStream.setInputStream(fileStream);
 | |
| 
 | |
|   response.bodyOutputStream.writeFrom(binaryStream, binaryStream.available());
 | |
| 
 | |
|   binaryStream.close();
 | |
|   fileStream.close();
 | |
| }
 |