| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| if (window.internals) |
| internals.settings.setStorageBlockingPolicy('BlockThirdParty'); |
| |
| function setServerState(string) |
| { |
| var xhr = new XMLHttpRequest; |
| xhr.open('POST', '/resources/write-temp-file.py?filename=cache-partitioned-cache-state&data=' + string, false); |
| xhr.send(); |
| } |
| |
| console.log('Document domain is now ' + document.domain); |
| console.log('Setting server-side persistent state to "' + document.domain + '"'); |
| setServerState(document.domain); |
| |
| var scriptElement = document.createElement('script'); |
| scriptElement.setAttribute('src', 'http://localhost:8000/cache/resources/partitioned-cache-echo-state.py'); |
| document.head.appendChild(scriptElement); |
| |
| window.onload = function() { |
| if (document.domain == 'localhost') { |
| console.log('Server state retrieved via a 1st party resource: "' + response + '"'); |
| document.location = 'http://127.0.0.1:8000/cache/resources/partitioned-cache-loader.html'; |
| } else { |
| console.log('Server state retrieved via a 3rd party resource (possibly a cached result, but it shouldn\'t be): "' + response + '"'); |
| shouldBeEqualToString('response', document.domain); |
| if (window.testRunner) { |
| internals.settings.setStorageBlockingPolicy('AllowAll'); |
| testRunner.notifyDone(); |
| } |
| } |
| } |
| </script> |
| </head> |
| <body> |
| </body> |
| </html> |