Test insecure-xhr-sync-in-main-frame.html fails with CORS error if run before r203542
authordbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Dec 2016 17:45:54 +0000 (17:45 +0000)
committerdbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Dec 2016 17:45:54 +0000 (17:45 +0000)
https://bugs.webkit.org/show_bug.cgi?id=165407

Reviewed by Alexey Proskuryakov.

Make the test insecure-xhr-sync-in-main-frame.html demonstrate a mixed content failure
instead of a CORS failure when run before r203542.

In r203542 the test http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame.html
was added to ensure that we block loading insecure data via XHR from an HTTPS page. When
this test is run prior to r203542 it fails due to a CORS errors as opposed to showing
the intended JavaScript alert failure message. The CORS error is due to loading a
cross-origin resource that did not return an appropriate Access-Control-Allow-Origin header
to allow reading of the response.

* http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame-expected.txt: Update expected result
based on the change below.
* http/tests/security/mixedContent/resources/insecure-xhr-sync-in-main-frame-window.html:
Load a resource that returns "Access-Control-Allow-Origin: *" so that origin (http, 127.0.0.1, 8000)
can read the response returned from origin (https, 127.0.0.1, 8443).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@209401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame-expected.txt
LayoutTests/http/tests/security/mixedContent/resources/insecure-xhr-sync-in-main-frame-window.html

index 782af84..d9faf37 100644 (file)
@@ -1,3 +1,26 @@
+2016-12-06  Daniel Bates  <dabates@apple.com>
+
+        Test insecure-xhr-sync-in-main-frame.html fails with CORS error if run before r203542
+        https://bugs.webkit.org/show_bug.cgi?id=165407
+
+        Reviewed by Alexey Proskuryakov.
+
+        Make the test insecure-xhr-sync-in-main-frame.html demonstrate a mixed content failure
+        instead of a CORS failure when run before r203542.
+
+        In r203542 the test http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame.html
+        was added to ensure that we block loading insecure data via XHR from an HTTPS page. When
+        this test is run prior to r203542 it fails due to a CORS errors as opposed to showing
+        the intended JavaScript alert failure message. The CORS error is due to loading a
+        cross-origin resource that did not return an appropriate Access-Control-Allow-Origin header
+        to allow reading of the response.
+
+        * http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame-expected.txt: Update expected result
+        based on the change below.
+        * http/tests/security/mixedContent/resources/insecure-xhr-sync-in-main-frame-window.html:
+        Load a resource that returns "Access-Control-Allow-Origin: *" so that origin (http, 127.0.0.1, 8000)
+        can read the response returned from origin (https, 127.0.0.1, 8443).
+
 2016-12-06  Tim Horton  <timothy_horton@apple.com>
 
         PDF markup/annotations visible in Mail on macOS but not on iOS
index b83fb5f..966cfb9 100644 (file)
@@ -1,3 +1,3 @@
-CONSOLE MESSAGE: line 26: [blocked] The page at https://127.0.0.1:8443/security/mixedContent/resources/insecure-xhr-sync-in-main-frame-window.html was not allowed to run insecure content from http://127.0.0.1:8000/.
+CONSOLE MESSAGE: line 26: [blocked] The page at https://127.0.0.1:8443/security/mixedContent/resources/insecure-xhr-sync-in-main-frame-window.html was not allowed to run insecure content from http://127.0.0.1:8000/xmlhttprequest/resources/access-control-basic-allow-star.cgi.
 
 This test opens a HTTPS window that loads insecure data via synchronous XHR. We should trigger a mixed content callback because the main frame in the window is HTTPS but now has insecure data.
index 35a6391..79dcaf6 100644 (file)
@@ -16,7 +16,7 @@ window.onload = function() {
     }, 2000);
 
     try {
-        xhr.open("GET", "http://127.0.0.1:8000/", false);
+        xhr.open("GET", "http://127.0.0.1:8000/xmlhttprequest/resources/access-control-basic-allow-star.cgi", false);
     } catch (ex) {
         // Firefox raises an exception, which is one way to make this detectable.
         if (window.testRunner)