Index: LayoutTests/http/tests/security/preload-script-crossorigin-fails-cross-origin.html |
diff --git a/LayoutTests/http/tests/security/preload-script-crossorigin-fails-cross-origin.html b/LayoutTests/http/tests/security/preload-script-crossorigin-fails-cross-origin.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e401ca7f2c2bd190d107a1e1c6663f4ae1185fe7 |
--- /dev/null |
+++ b/LayoutTests/http/tests/security/preload-script-crossorigin-fails-cross-origin.html |
@@ -0,0 +1,38 @@ |
+<!DOCTYPE html> |
+<!-- Regression test for https://crbug.com/464876. On a CORS failure, multiple |
+ error messages should not be logged, even if preload occurs. --> |
+<head> |
+</head> |
+ |
+<script src="/js-test-resources/js-test.js"></script> |
+ |
+<script> |
+ window.jsTestIsAsync = true; |
+ description('Preload of script with CORS failure only shows one error'); |
+ |
+var result = "PASS"; |
+ |
+var scriptLoad = function() { |
+ testFailed('Script loaded.'); |
+}; |
+ |
+var scriptError = function() { |
+ if (result === 'PASS') |
+ testPassed('Script error.'); |
+ else |
+ testFailed('Script ran.'); |
+ finishJSTest(); |
+}; |
+ |
+var checkForPreload = function(url) { |
+ if (internals.isPreloaded(url)) |
+ testPassed("Did preload."); |
+}; |
+</script> |
+ |
+<!-- Force a preload --> |
+<script src="http://127.0.0.1:8000/resources/slow-script.pl?delay=100"></script> |
+<script> |
+checkForPreload("http://localhost:8000/security/resources/cors-script.php?delay=100&cors=false&value=FAIL"); |
+</script> |
+<script crossorigin="anonymous" src="http://localhost:8000/security/resources/cors-script.php?delay=100&cors=false&value=FAIL" onload="scriptLoad()" onerror="scriptError();"></script> |