diff options
Diffstat (limited to 'testing/web-platform/tests/mixed-content/tentative/autoupgrades')
3 files changed, 124 insertions, 0 deletions
diff --git a/testing/web-platform/tests/mixed-content/tentative/autoupgrades/audio-upgrade.https.sub.html b/testing/web-platform/tests/mixed-content/tentative/autoupgrades/audio-upgrade.https.sub.html new file mode 100644 index 0000000000..4aeb183e3d --- /dev/null +++ b/testing/web-platform/tests/mixed-content/tentative/autoupgrades/audio-upgrade.https.sub.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> +<head> +<title>Autoupgrade mixed content: Audio.</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> + +</head> +<body> + <script> + async_test(t => assert_audio_loads(t), "Audio autoupgraded"); + + function assert_audio_loads(test) { + // Since autoupgrades don't upgrade custom ports, we use the https port with an HTTP scheme. A successful autoupgrade will result in the right URL loading (and no autoupgrade will result in failure). + var url = new URL("http://{{host}}:{{ports[https][0]}}/mixed-content/tentative/resources/test.wav") + var i = document.createElement('audio'); + i.oncanplaythrough = test.step_func_done(_ => { + assert_equals(i.duration, 1, "Length"); + }); + i.onerror = test.unreached_func("Audio should load successfully from " + url); + i.src = url; + } + // Test the same just with another host + async_test(t => assert_other_host_audio_loads(t), "Audio of other host autoupgraded"); + + function assert_other_host_audio_loads(test) { + // Since autoupgrades don't upgrade custom ports, we use the https port with an HTTP scheme. A successful autoupgrade will result in the right URL loading (and no autoupgrade will result in failure). + var otherHost = get_host_info().HTTP_NOTSAMESITE_ORIGIN.slice(0,-4); // cut of http port + var url = new URL( otherHost + "{{ports[https][0]}}/mixed-content/tentative/resources/test.wav") + var i = document.createElement('audio'); + i.oncanplaythrough = test.step_func_done(_ => { + assert_equals(i.duration, 1, "Length of other host audio is correct"); + }); + i.onerror = test.unreached_func("Audio of other host should load successfully from " + url); + i.src = url; + } +</script> +</body> +</html> diff --git a/testing/web-platform/tests/mixed-content/tentative/autoupgrades/image-upgrade.https.sub.html b/testing/web-platform/tests/mixed-content/tentative/autoupgrades/image-upgrade.https.sub.html new file mode 100644 index 0000000000..d63a71026a --- /dev/null +++ b/testing/web-platform/tests/mixed-content/tentative/autoupgrades/image-upgrade.https.sub.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> +<head> +<title>Autoupgrade mixed content: Optionally Blockable.</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> + +</head> +<body> + <script> + async_test(t => assert_image_loads(t), "Image autoupgraded"); + + function assert_image_loads(test) { + // Since autoupgrades don't upgrade custom ports, we use the https port with an HTTP scheme. A successful autoupgrade will result in the right URL loading (and no autoupgrade will result in failure). + var url = new URL("http://{{host}}:{{ports[https][0]}}/mixed-content/tentative/resources/pass.png") + var i = document.createElement('img'); + i.onload = test.step_func_done(_ => { + assert_equals(i.naturalHeight, 64, "Height."); + assert_equals(i.naturalWidth, 168, "Width."); + }); + i.onerror = test.unreached_func("Image should load successfully from " + url); + i.src = url; + } + + // Test the same just with another host + async_test(t => assert_other_host_image_loads(t), "Image of other host autoupgraded"); + + function assert_other_host_image_loads(test) { + // Since autoupgrades don't upgrade custom ports, we use the https port with an HTTP scheme. A successful autoupgrade will result in the right URL loading (and no autoupgrade will result in failure). + var otherHost = get_host_info().HTTP_NOTSAMESITE_ORIGIN.slice(0,-4); // cut of http port + var url = new URL( otherHost + "{{ports[https][0]}}/mixed-content/tentative/resources/pass.png") + var i = document.createElement('img'); + i.onload = test.step_func_done(_ => { + assert_equals(i.naturalHeight, 64, "Height."); + assert_equals(i.naturalWidth, 168, "Width."); + }); + i.onerror = test.unreached_func("image of other host should load successfully from " + url); + i.src = url; + } +</script> +</body> +</html> diff --git a/testing/web-platform/tests/mixed-content/tentative/autoupgrades/video-upgrade.https.sub.html b/testing/web-platform/tests/mixed-content/tentative/autoupgrades/video-upgrade.https.sub.html new file mode 100644 index 0000000000..ea2d07309c --- /dev/null +++ b/testing/web-platform/tests/mixed-content/tentative/autoupgrades/video-upgrade.https.sub.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> +<head> +<title>Autoupgrade mixed content: Video.</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> + +</head> +<body> + <script> + async_test(t => assert_video_loads(t), "Video autoupgraded"); + + function assert_video_loads(test) { + // Since autoupgrades don't upgrade custom ports, we use the https port with an HTTP scheme. A successful autoupgrade will result in the right URL loading (and no autoupgrade will result in failure). + var url = new URL("http://{{host}}:{{ports[https][0]}}/mixed-content/tentative/resources/test.ogv") + var i = document.createElement('video'); + i.oncanplaythrough = test.step_func_done(_ => { + assert_equals(Math.floor(i.duration), 300, "Length."); + }); + i.onerror = test.unreached_func("Video should load successfully from " + url); + i.src = url; + } + + // Test the same just with another host + async_test(t => assert_other_host_video_loads(t), "Video of other host autoupgraded"); + + function assert_other_host_video_loads(test) { + // Since autoupgrades don't upgrade custom ports, we use the https port with an HTTP scheme. A successful autoupgrade will result in the right URL loading (and no autoupgrade will result in failure). + var otherHost = get_host_info().HTTP_NOTSAMESITE_ORIGIN.slice(0,-4); // cut of http port + var url = new URL( otherHost + "{{ports[https][0]}}/mixed-content/tentative/resources/test.ogv") + var i = document.createElement('video'); + i.oncanplaythrough = test.step_func_done(_ => { + assert_equals(Math.floor(i.duration), 300, "Length. Other host"); + }); + i.onerror = test.unreached_func("Video of other host should load successfully from " + url); + i.src = url; + } +</script> +</body> +</html> |