Index: third_party/WebKit/LayoutTests/http/tests/w3c/webperf/approved/navigation-timing/html/nav2_test_redirect_xserver_opt_in.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/w3c/webperf/approved/navigation-timing/html/nav2_test_redirect_xserver_opt_in.html b/third_party/WebKit/LayoutTests/http/tests/w3c/webperf/approved/navigation-timing/html/nav2_test_redirect_xserver_opt_in.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2e28ae2197925bfb7133a1d5c953d3c1d395d14d |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/w3c/webperf/approved/navigation-timing/html/nav2_test_redirect_xserver_opt_in.html |
@@ -0,0 +1,56 @@ |
+<!DOCTYPE html> |
+<html> |
+ <head> |
+ <meta charset="utf-8" /> |
+ <title>Navigation Timing 2 WPT</title> |
+ <link rel="author" title="Google" href="http://www.google.com/" /> |
+ <link rel="help" href="http://www.w3.org/TR/navigation-timing-2/#sec-PerformanceNavigationTiming"/> |
+ <script src="/resources/testharness.js"></script> |
+ <script src="/resources/testharnessreport.js"></script> |
+ <script> |
+ |
+ function verifyTimingEventOrder(eventOrder, timingEntry) { |
+ for (var i = 0; i < eventOrder.length - 1; i++) { |
+ assert_true(timingEntry[eventOrder[i]] < timingEntry[eventOrder[i + 1]], |
+ "Expected " + eventOrder[i] + " to be no greater than " + eventOrder[i + 1] + "."); |
+ } |
+ } |
+ |
+ function onload_test() |
+ { |
+ var frame_performance = document.getElementById("frameContext").contentWindow.performance; |
+ assert_equals(frame_performance.getEntriesByType("navigation")[0].type, |
+ "navigate", |
+ "Expected navigation type to be navigate."); |
+ assert_equals(frame_performance.getEntriesByType("navigation")[0].redirectCount, 1, "Expected redirectCount to be 1."); |
+ |
+ var timgingEvents = [ |
+ 'startTime', |
+ 'redirectStart', |
+ 'redirectEnd', |
+ ]; |
+ verifyTimingEventOrder(timgingEvents, frame_performance.getEntriesByType("navigation")[0]); |
+ done(); |
+ } |
+ </script> |
+ |
+ </head> |
+ <body> |
+ <h1>Description</h1> |
+ <p>This test validates the values of the window.performance.getEntriesByType("navigation")[0].redirectCount and the |
+ window.performance.getEntriesByType("navigation")[0].redirectStart/End times for a cross-origin server side redirect navigation when the redirect chooses to opt-in.</p> |
+ |
+ <iframe id="frameContext" src="" style="width: 250px; height: 250px;"></iframe> |
+ <script> |
+ // combine the page origin and redirect origin into the IFRAME's src URL |
+ // combine the page origin and redirect origin into the IFRAME's src URL |
+ var pageOrigin = '127.0.0.1:8000'; |
+ var redirectOrigin = 'localhost:8000'; |
+ var destUrl = 'http://' + redirectOrigin + '/w3c/webperf/resources/redirect-opt-in.php'; |
+ destUrl += '?location=http://' + pageOrigin + '/w3c/webperf/resources/blank_page_green.htm'; |
+ var frameContext = document.getElementById("frameContext"); |
+ frameContext.onload = onload_test; |
+ frameContext.src = destUrl; |
+ </script> |
+ </body> |
+</html> |