VOOZH about

URL: https://bugzilla.mozilla.org/2006340

⇱ 2006340 - Implement Resource Timing Level 3 interim response timestamps


Closed Bug 2006340 Opened 6 months ago Closed 1 month ago

Implement Resource Timing Level 3 interim response timestamps

Implement Resource Timing Level 3 interim response timestamps
Core
DOM: Performance APIs
Trunk
Unspecified
Unspecified
enhancement
Points:
---
RESOLVED FIXED
RESOLVED
FIXED
152 Branch
Iteration:
---
a11y-review
Accessibility Severity
Performance Impact
Size Estimate
Webcompat Priority
Webcompat Score
Tracking Status
firefox152 --- fixed
Tracking Status
relnote-firefox
thunderbird_esr115
thunderbird_esr140
firefox-esr115
firefox-esr140
firefox-esr153
firefox152
firefox153
firefox154
---
QA Whiteboard:
[qa-triage-done-c153/b152]
Has STR:
---
Change Request:
---
Bug Flags:
Signature:
None
This bug is publicly visible.

 
Assignee

Description

6 months ago

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36

Steps to reproduce:

Add firstInterimResponseStart and finalResponseHeadersStart properties to PerformanceResourceTiming API to distinguish interim (1xx) from final HTTP responses.

Per W3C Resource Timing Level 3 spec:
https://github.com/w3c/resource-timing/pull/408

Implementation complete:

  • Network timing capture (HTTP/1.1, HTTP/2)
  • IPC serialization
  • DOM API with TAO security
  • All 24 WPT tests passing

Matches WebKit (Safari) and Chromium implementations.

Assignee

Comment 1

6 months ago

Add firstInterimResponseStart and finalResponseHeadersStart properties
to distinguish interim (1xx) from final HTTP responses per W3C Resource
Timing spec.

  • Network layer: Capture timing in nsHttpTransaction and Http2Session
  • IPC: Serialize new timestamps across processes
  • DOM: Expose via PerformanceResourceTiming with TAO protection
  • Tests: Enable WPT interim-response-times tests (all pass)

Matches WebKit and Chromium implementations.

Assignee: nobody → helmut
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Assignee

Comment 2

6 months ago

Address reviewer feedback by simplifying from 3 timestamps to 2:

  • Remove firstInterimResponseStart from network layer storage
  • Keep only responseStart and finalResponseHeadersStart in TimingStruct
  • Compute firstInterimResponseStart in Performance API layer

Key changes:

  • Fix timing bug: remove early SetResponseStart call in WritePipeSegment
    that was capturing data arrival instead of status line parse time
  • Add HTTP/3 support in Http3Session.cpp ProcessEvents
  • Add HTTP/3-specific test (test_http3_interim_response_timing.js)
  • Simplify HTTP/1.1 and HTTP/2 timing logic

This results in less memory usage (1 fewer timestamp per request) and
cleaner separation between network capture and performance computation.

All existing WPT tests pass (interim-response-times.html for HTTP/1.1
and HTTP/2). New HTTP/3 test verifies timing with and without 103 Early
Hints.

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

Attachment #9534028 - Attachment is obsolete: true

Comment 3

5 months ago
Pushed by rjesup@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/cc2f0cfc9c13 https://hg.mozilla.org/integration/autoland/rev/076c73ac9841 Implement Resource Timing Level 3 interim response timestamps r=necko-reviewers,webidl,smaug,valentin

Comment 4

5 months ago
Pushed by sstanca@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/7682b199e4d2 https://hg.mozilla.org/integration/autoland/rev/ca44c087832c Revert "Bug 2006340 - Implement Resource Timing Level 3 interim response timestamps r=necko-reviewers,webidl,smaug,valentin" for causing wpt failures in idlharness.https.any.html.

Reverted this because it was causing wpt failures in idlharness.https.any.html.

  • Revert link
  • Push with failures
  • Failure Log
  • Failure line: TEST-UNEXPECTED-PASS | /server-timing/idlharness.https.any.html | PerformanceResourceTiming interface: attribute finalResponseHeadersStart - expected FAIL
Flags: needinfo?(helmut)
Assignee

Comment 6

5 months ago

fixed and pushed a new patchset to the change, how can i re-land it?

Flags: needinfo?(helmut)

Comment 7

5 months ago
Pushed by valentin.gosu@gmail.com: https://github.com/mozilla-firefox/firefox/commit/9b1ebbeb5c66 https://hg.mozilla.org/integration/autoland/rev/8837c538c160 Implement Resource Timing Level 3 interim response timestamps r=necko-reviewers,webidl,smaug,valentin

Comment 8

5 months ago
Pushed by sstanca@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/e61d59b5c9a6 https://hg.mozilla.org/integration/autoland/rev/39305265f6c1 Revert "Bug 2006340 - Implement Resource Timing Level 3 interim response timestamps r=necko-reviewers,webidl,smaug,valentin" for causing wpt failures in idlharness.any.html.

Reverted this because it was causing wpt failures in idlharness.any.html.

  • Revert link
  • Push with failures
  • Failure Log
  • Failure line: TEST-UNEXPECTED-PASS | /resource-timing/idlharness.any.worker.html | PerformanceResourceTiming interface: attribute finalResponseHeadersStart - expected FAIL
Flags: needinfo?(helmut)

Comment 10

5 months ago
Pushed by valentin.gosu@gmail.com: https://github.com/mozilla-firefox/firefox/commit/60c72a74ce60 https://hg.mozilla.org/integration/autoland/rev/f40e00a7bb3b Implement Resource Timing Level 3 interim response timestamps r=necko-reviewers,webidl,smaug,valentin
Flags: needinfo?(helmut)

Comment 11

5 months ago
Pushed by agoloman@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/82d54cc264e0 https://hg.mozilla.org/integration/autoland/rev/3395aab46f3c Revert "Bug 2006340 - Implement Resource Timing Level 3 interim response timestamps r=necko-reviewers,webidl,smaug,valentin" for causing wpt failures @interim-response-times.html.

Comment 12

5 months ago

Backed out for causing wpt failures @interim-response-times.html.

Flags: needinfo?(helmut)
Pushed by valentin.gosu@gmail.com: https://github.com/mozilla-firefox/firefox/commit/ceb343c444f6 https://hg.mozilla.org/integration/autoland/rev/52557f19f7d4 Implement Resource Timing Level 3 interim response timestamps r=necko-reviewers,webidl,smaug,valentin
Status: ASSIGNED → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 152 Branch
QA Whiteboard: [qa-triage-done-c153/b152]

FF152 MDN docs work for this can be tracked in https://github.com/mdn/content/issues/44168 (compatibility data and release note)

You need to log in before you can comment on or make changes to this bug.