In 4.2, we say "Resources for which the fetch was initiated, but was later aborted (e.g. due to a network error) MAY be included as PerformanceResourceTiming objects in the Performance Timeline and MUST contain initialized attribute values for processed substeps of the processing model"
It'd be better to always surface such resource, and test that implementations do. It'd also be good to clarify that e.g. error status code responses are not failed fetches.
In 4.2, we say "Resources for which the fetch was initiated, but was later aborted (e.g. due to a network error) MAY be included as PerformanceResourceTiming objects in the Performance Timeline and MUST contain initialized attribute values for processed substeps of the processing model"
It'd be better to always surface such resource, and test that implementations do. It'd also be good to clarify that e.g. error status code responses are not failed fetches.