Specs:
- https://www.w3.org/TR/performance-timeline/
- https://www.w3.org/TR/resource-timing/
Repro:
$ ninja ... blink_tests
$ third_party/WebKit/Tools/Scripts/run-webkit-tests -t gn -v --additional-drt-flag=--site-per-process http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_cross_origin_redirect.html
The problem is that with --site-per-process, when window.performance.getEntriesByName is called in the main frame, it fails to find entries related to a cross-site subframe. Via window.performance.getEntries I only see 4 entries related to the 4 javascript files.
Interestingly window.performance.getEntries returns 0 entries when called in the subframe (500ms after the frame's onload).
Note that cross-site verification in the test is not accidental - the broken test explicitly verifies various aspects of the behavior for cross-site frames:
- Some things should be 0 in cross-origin redirect:
redirectStart should be 0 in cross-origin redirect
redirectEnd should be 0 in cross-origin redirect
domainLookupStart should be 0 in cross-origin redirect
domainLookupEnd should be 0 in cross-origin redirect
connectStart should be 0 in cross-origin redirect
connectEnd should be 0 in cross-origin redirect
requestStart should be 0 in cross-origin redirect
responseStart should be 0 in cross-origin redirect
secureConnectionStart should be 0 in cross-origin redirect
- Some things should still be available for a cross-origin redirect:
fetchStart should be greater than 0 in cross-origin redirect!");
responseEnd should be greater than 0 in cross-origin redirect!");
AFACT there are 4 affected tests:
http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_cross_origin_redirect.html
http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_cross_origin_redirect_with_timing_allow_origin.html
http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_cross_origin_resource_request.html
http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_timing_allow_cross_origin_resource_request.html
Comment 1 by lukasza@chromium.org
, May 3 2016