Enable InitiatorUrl for ResourceTiming on dedicated and shared workers [chromium/src : main]

0 views
Skip to first unread message

Guohui Deng (Gerrit)

unread,
Apr 15, 2026, 7:52:50 PM (11 days ago) Apr 15
to Scott Haseley, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Nate Chapin, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org
Attention needed from Scott Haseley

Guohui Deng added 17 comments

Commit Message
Line 7, Patchset 4:Enable InitiatorUrl for ResourceTiming on worker thread
Scott Haseley . resolved

Update to match recent changes?

```suggestion
Enable InitiatorUrl for ResourceTiming on dedicated and shared workers
```

Guohui Deng

Done

Line 8, Patchset 4:
Scott Haseley . unresolved

Please add a bit of implementation context, i.e. that it enables task attribution on select worker threads to enable this (and also _why_ that's needed).

Guohui Deng

I added a paragraph. is it detailed enough?

File third_party/blink/renderer/core/scheduler/task_attribution_tracker_impl.cc
Line 307, Patchset 1:void TaskAttributionTrackerImpl::OnBeginNestedRunLoopOnMainThread() {
Scott Haseley . resolved

Why change this? This is called by ThreadSchedulerBase, which is also used for the worker thread scheduler.

Guohui Deng

I am limiting this to "main thread" only. The reason is the comment in file "third_party/blink/renderer/platform/scheduler/common/thread_scheduler_base.cc"

The cleanest solution is to create the tracker in "v8_per_isolate_data.cc" only in: 1) mainworld or 2) worker. But it looks like that's difficult to do.

Scott Haseley

Hmm I don't love this. Part of the reason I want to limit this to workers (and exclude worklets) is because of the conflict with the other usage of CPED -- TaskAttributionTracker should "own" CPED for the isolate it's associated with.

Can it be created lazily or outside of the constructor? For example, V8PerIsolateData can have a method called when the worker global scope is initialized.

Guohui Deng

Lazy creation is a good idea! I think I can add a separate mechanism to create "tracker" in `V8PerIsolateData` for "dedicated and shared workers" if the "initiator url" feature is enabled. I will update the CL once I succeed.

Guohui Deng

Patchset 3) manages to create the |tracker| conditionally within V8PerIsolateData, so |tracker| won't exist for Worklets.

Guohui Deng

Lazy Creation is implemented.

File third_party/blink/renderer/core/scheduler/task_attribution_util.h
Line 30, Patchset 4:
// TODO(crbug.com/40919714) Captures task states in some worker worlds too.
// This function will be removed.
Scott Haseley . resolved

Yeah let's either remove this or change it to something like:

```suggestion
// Returns the current task state if `script_state` is associated with the main
// world or a Worker.
//
// TODO(crbug.com/41494072): Consider supporting propagation for all worlds and
// removing this function.
```

Scott Haseley

FYI this function was removed in https://chromium-review.googlesource.com/c/chromium/src/+/7762579

Guohui Deng

Thanks! I rebased 😊

File third_party/blink/renderer/core/workers/shared_worker_thread.cc
Line 58, Patchset 4: if (RuntimeEnabledFeatures::ResourceTimingInitiatorEnabled()) {
V8PerIsolateData::From(GetIsolate())->InitializeTaskAttributionTracker();
}
Scott Haseley . resolved

Please move this to above the comment since that's for the line directly below this.

Guohui Deng

Done

File third_party/blink/renderer/platform/bindings/v8_per_isolate_data.cc
Line 367, Patchset 4: task_attribution_tracker_ = task_attribution_tracker_factory(GetIsolate());
Scott Haseley . resolved

Let's be consistent and only create this if kTaskAttributionInfrastructureDisabledForTesting isn't enabled.

Guohui Deng

Done

File third_party/blink/web_tests/external/wpt/resource-timing/resources/loading-resource-lib.js
Line 1, Patchset 4:// It's the intention that these functions must be placed in a separate file.
Scott Haseley . resolved

nit: Add a comment as to _why_ that's the case?

Guohui Deng

Done

Line 10, Patchset 4:function fetch_in_fun(resource) {
Scott Haseley . resolved

```suggestion
function fetch_in_function(resource) {
```

(I think it's clearer if not abbreviated here if that's okay).

Guohui Deng

Done

File third_party/blink/web_tests/external/wpt/resource-timing/resources/message-handler-in-shared-worker.js
Line 29, Patchset 4: const promise = observe_entry_no_timeout(resource);
const entry = await promise;
Scott Haseley . resolved

nit: this might be more readable.

```suggestion
const entry = await observe_entry_no_timeout(resource);
```
Guohui Deng

Done

Line 31, Patchset 4: port.postMessage( {result: entry.initiatorUrl,
Scott Haseley . resolved
```suggestion
port.postMessage({result: entry.initiatorUrl,
```

(I really wish we had auto-formatting for js files!)

Guohui Deng

Done
Thank you for catching these formatting errors! 😊

File third_party/blink/web_tests/external/wpt/resource-timing/resources/message-handler-in-worker.js
Line 27, Patchset 4: const promise = observe_entry_no_timeout(resource);
const entry = await promise;
postMessage( {result: entry.initiatorUrl,
Scott Haseley . resolved
Same here:
```suggestion
const entry = await observe_entry_no_timeout(resource);
postMessage({result: entry.initiatorUrl,
```
Guohui Deng

Done

File third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/direct.any.js
Line 24, Patchset 4:done();
Scott Haseley . resolved

I think technically this isn't needed (here and elsewhere) because this uses the multi-global pattern? https://web-platform-tests.org/writing-tests/testharness.html#tests-for-other-or-multiple-globals-any-js. Or is it?

Guohui Deng

`done()`s are indeed, not needed. I am removing them.

File third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/post-message-shared-worker.html
Line 21, Patchset 4: result = event.data.result;
expected = event.data.expected;
resolveWorker();
Scott Haseley . resolved

nit: Fix inconsistent indentation.

```suggestion
result = event.data.result;
expected = event.data.expected;
resolveWorker();
```
Guohui Deng

Done

File third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/post-message-worker.html
Line 20, Patchset 4: result = event.data.result;
expected = event.data.expected;
worker.terminate();
resolveWorker();
Scott Haseley . resolved

nit: Fix inconsistent indentation.

```suggestion
result = event.data.result;
expected = event.data.expected;
worker.terminate();
resolveWorker();
```
Guohui Deng

Done

File third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/post-task.any.js
Line 12, Patchset 4:scheduler.postTask( function() {fetch_in_fun(resource)} );
Scott Haseley . resolved

```suggestion
scheduler.postTask(function() {fetch_in_fun(resource)});
```

Guohui Deng

Done

File third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/promise.any.js
Line 13, Patchset 4:instantPromise.then( function() {fetch_in_fun(resource)} );
Scott Haseley . resolved

(Here and elsewhere)

```suggestion
instantPromise.then(function() {fetch_in_fun(resource)});
```

Guohui Deng

Done

File third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/promise.html
Line 26, Patchset 4: const instantPromise = Promise.resolve();
instantPromise.then( function() {load_image(label, img)} );
Scott Haseley . resolved

Maybe clearer to omit the temporary? It's clear that it's an instantly resolved promise.

```suggestion
Promise.resolve().then(function() {load_image(label, img)});
```
Guohui Deng

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Scott Haseley
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
Gerrit-Change-Number: 7732189
Gerrit-PatchSet: 7
Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-Attention: Scott Haseley <shas...@chromium.org>
Gerrit-Comment-Date: Wed, 15 Apr 2026 23:52:40 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Guohui Deng <guohu...@microsoft.com>
Comment-In-Reply-To: Scott Haseley <shas...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Scott Haseley (Gerrit)

unread,
Apr 17, 2026, 2:18:14 PM (10 days ago) Apr 17
to Guohui Deng, Nate Chapin, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org
Attention needed from Guohui Deng and Nate Chapin

Scott Haseley voted and added 3 comments

Votes added by Scott Haseley

Code-Review+1

3 comments

Patchset-level comments
File-level comment, Patchset 7 (Latest):
Scott Haseley . resolved

LGTM % tiny nit

Nate: do you mind doing a second review on this?

Commit Message
Scott Haseley . unresolved

Please add a bit of implementation context, i.e. that it enables task attribution on select worker threads to enable this (and also _why_ that's needed).

Guohui Deng

I added a paragraph. is it detailed enough?

Scott Haseley

Most people working on Workers aren't familiar with this feature, so I think it's important to expand on the what/why. Ideally there would be a spec link or document to point to so people can learn more. I'd suggest including the explainer and chromestatus link in these CLs, and adding some more context: maybe append, "This allows the different initiator URLs to be propagated across async tasks (e.g. setTimeout) coming from different different scripts, e.g. importScripts()" (or something like that).

File third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h
Line 203, Patchset 7 (Latest): // If not on main thread,`task_attribution_tracker_` can be initialized
Scott Haseley . unresolved

nit:

```suggestion
// If not on the main thread,`task_attribution_tracker_` can be initialized
```
Open in Gerrit

Related details

Attention is currently required from:
  • Guohui Deng
  • Nate Chapin
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
Gerrit-Change-Number: 7732189
Gerrit-PatchSet: 7
Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-Attention: Guohui Deng <guohu...@microsoft.com>
Gerrit-Attention: Nate Chapin <jap...@chromium.org>
Gerrit-Comment-Date: Fri, 17 Apr 2026 18:18:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Nate Chapin (Gerrit)

unread,
Apr 17, 2026, 2:24:42 PM (10 days ago) Apr 17
to Guohui Deng, Scott Haseley, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org
Attention needed from Guohui Deng

Nate Chapin voted and added 2 comments

Votes added by Nate Chapin

Code-Review+1

2 comments

File third_party/blink/renderer/core/loader/worker_fetch_context.cc
Line 237, Patchset 7 (Latest):void WorkerFetchContext::FillInitiatorInfo(FetchInitiatorInfo& initiator_info) {
Nate Chapin . unresolved

Potential followup: Can we merge most or all of this with `FrameFetchContext::FillInitiatorInfo` and move the logic down to `BaseFetchContext`?

File third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h
Line 205, Patchset 7 (Latest): void InitializeTaskAttributionTracker();
Nate Chapin . unresolved

Nit: let's put "OnWorkerThread" in the name here, since we `CHECK(!IsMainThread())` in the implementation.

Open in Gerrit

Related details

Attention is currently required from:
  • Guohui Deng
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
    Gerrit-Change-Number: 7732189
    Gerrit-PatchSet: 7
    Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
    Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
    Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
    Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
    Gerrit-CC: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-Attention: Guohui Deng <guohu...@microsoft.com>
    Gerrit-Comment-Date: Fri, 17 Apr 2026 18:24:24 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Guohui Deng (Gerrit)

    unread,
    Apr 20, 2026, 6:04:06 PM (7 days ago) Apr 20
    to Nate Chapin, Scott Haseley, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org
    Attention needed from Nate Chapin and Scott Haseley

    Guohui Deng added 4 comments

    Commit Message
    Scott Haseley . unresolved

    Please add a bit of implementation context, i.e. that it enables task attribution on select worker threads to enable this (and also _why_ that's needed).

    Guohui Deng

    I added a paragraph. is it detailed enough?

    Scott Haseley

    Most people working on Workers aren't familiar with this feature, so I think it's important to expand on the what/why. Ideally there would be a spec link or document to point to so people can learn more. I'd suggest including the explainer and chromestatus link in these CLs, and adding some more context: maybe append, "This allows the different initiator URLs to be propagated across async tasks (e.g. setTimeout) coming from different different scripts, e.g. importScripts()" (or something like that).

    Guohui Deng

    Done. I used your writing with minor editing.

    File third_party/blink/renderer/core/loader/worker_fetch_context.cc
    Line 237, Patchset 7:void WorkerFetchContext::FillInitiatorInfo(FetchInitiatorInfo& initiator_info) {
    Nate Chapin . unresolved

    Potential followup: Can we merge most or all of this with `FrameFetchContext::FillInitiatorInfo` and move the logic down to `BaseFetchContext`?

    Guohui Deng

    Sounds good. I would like to look into it after it's clear what exactly we do on the worker thread. I left a comment here.

    File third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h
    Line 205, Patchset 7: void InitializeTaskAttributionTracker();
    Nate Chapin . resolved

    Nit: let's put "OnWorkerThread" in the name here, since we `CHECK(!IsMainThread())` in the implementation.

    Guohui Deng

    Done

    Line 203, Patchset 7: // If not on main thread,`task_attribution_tracker_` can be initialized
    Scott Haseley . resolved

    nit:

    ```suggestion
    // If not on the main thread,`task_attribution_tracker_` can be initialized
    ```
    Guohui Deng

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Nate Chapin
    • Scott Haseley
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
      Gerrit-Change-Number: 7732189
      Gerrit-PatchSet: 11
      Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
      Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
      Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
      Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-Attention: Scott Haseley <shas...@chromium.org>
      Gerrit-Attention: Nate Chapin <jap...@chromium.org>
      Gerrit-Comment-Date: Mon, 20 Apr 2026 22:04:00 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Guohui Deng <guohu...@microsoft.com>
      Comment-In-Reply-To: Scott Haseley <shas...@chromium.org>
      Comment-In-Reply-To: Nate Chapin <jap...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Nate Chapin (Gerrit)

      unread,
      Apr 21, 2026, 2:32:04 PM (6 days ago) Apr 21
      to Guohui Deng, Scott Haseley, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org
      Attention needed from Guohui Deng and Scott Haseley

      Nate Chapin voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Guohui Deng
      • Scott Haseley
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
      Gerrit-Change-Number: 7732189
      Gerrit-PatchSet: 11
      Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
      Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
      Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
      Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-Attention: Guohui Deng <guohu...@microsoft.com>
      Gerrit-Attention: Scott Haseley <shas...@chromium.org>
      Gerrit-Comment-Date: Tue, 21 Apr 2026 18:31:55 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Scott Haseley (Gerrit)

      unread,
      Apr 21, 2026, 3:43:07 PM (6 days ago) Apr 21
      to Guohui Deng, Nate Chapin, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org
      Attention needed from Guohui Deng

      Scott Haseley voted and added 2 comments

      Votes added by Scott Haseley

      Code-Review+1

      2 comments

      Patchset-level comments
      Scott Haseley . resolved

      LGTM

      Commit Message
      Line 8, Patchset 4:
      Scott Haseley . resolved

      Please add a bit of implementation context, i.e. that it enables task attribution on select worker threads to enable this (and also _why_ that's needed).

      Guohui Deng

      I added a paragraph. is it detailed enough?

      Scott Haseley

      Most people working on Workers aren't familiar with this feature, so I think it's important to expand on the what/why. Ideally there would be a spec link or document to point to so people can learn more. I'd suggest including the explainer and chromestatus link in these CLs, and adding some more context: maybe append, "This allows the different initiator URLs to be propagated across async tasks (e.g. setTimeout) coming from different different scripts, e.g. importScripts()" (or something like that).

      Guohui Deng

      Done. I used your writing with minor editing.

      Scott Haseley

      Cool, thanks.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Guohui Deng
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
        Gerrit-Change-Number: 7732189
        Gerrit-PatchSet: 11
        Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
        Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
        Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
        Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
        Gerrit-CC: Kentaro Hara <har...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-Attention: Guohui Deng <guohu...@microsoft.com>
        Gerrit-Comment-Date: Tue, 21 Apr 2026 19:42:58 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Guohui Deng (Gerrit)

        unread,
        Apr 22, 2026, 11:09:21 AM (5 days ago) Apr 22
        to Scott Haseley, Nate Chapin, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org

        Guohui Deng added 2 comments

        Patchset-level comments
        Guohui Deng . resolved

        Thank you both for reviewing. I am merging this.

        File third_party/blink/renderer/core/loader/worker_fetch_context.cc
        Line 237, Patchset 7:void WorkerFetchContext::FillInitiatorInfo(FetchInitiatorInfo& initiator_info) {
        Nate Chapin . resolved

        Potential followup: Can we merge most or all of this with `FrameFetchContext::FillInitiatorInfo` and move the logic down to `BaseFetchContext`?

        Guohui Deng

        Sounds good. I would like to look into it after it's clear what exactly we do on the worker thread. I left a comment here.

        Guohui Deng

        Done

        Open in Gerrit

        Related details

        Attention set is empty
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
          Gerrit-Change-Number: 7732189
          Gerrit-PatchSet: 11
          Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
          Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Comment-Date: Wed, 22 Apr 2026 15:09:13 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Guohui Deng <guohu...@microsoft.com>
          Comment-In-Reply-To: Nate Chapin <jap...@chromium.org>
          satisfied_requirement
          open
          diffy

          Guohui Deng (Gerrit)

          unread,
          Apr 22, 2026, 11:09:23 AM (5 days ago) Apr 22
          to Scott Haseley, Nate Chapin, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org

          Guohui Deng voted Commit-Queue+2

          Commit-Queue+2
          Open in Gerrit

          Related details

          Attention set is empty
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
          Gerrit-Change-Number: 7732189
          Gerrit-PatchSet: 11
          Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
          Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Comment-Date: Wed, 22 Apr 2026 15:09:16 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Blink W3C Test Autoroller (Gerrit)

          unread,
          Apr 22, 2026, 11:22:54 AM (5 days ago) Apr 22
          to Guohui Deng, Scott Haseley, Nate Chapin, Chromium LUCI CQ, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org

          Message from Blink W3C Test Autoroller

          Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/59406.

          When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.

          WPT Export docs:
          https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process

          Open in Gerrit

          Related details

          Attention set is empty
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
          Gerrit-Change-Number: 7732189
          Gerrit-PatchSet: 11
          Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
          Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Comment-Date: Wed, 22 Apr 2026 15:22:43 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: No
          satisfied_requirement
          open
          diffy

          Chromium LUCI CQ (Gerrit)

          unread,
          Apr 22, 2026, 12:47:37 PM (5 days ago) Apr 22
          to Guohui Deng, Blink W3C Test Autoroller, Scott Haseley, Nate Chapin, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org

          Chromium LUCI CQ submitted the change

          Change information

          Commit message:
          Enable InitiatorUrl for ResourceTiming on dedicated and shared workers

          This CL is part of implementation of "initiator for resource timing"
          feature. Explainer:
          https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/ResourceTimingInitiatorInfo/explainer.md
          Chromestatus: https://chromestatus.com/feature/4876586949804032

          TaskAttribution is enabled on dedicated and shared workers to facilitate
          accurate initiator tracking for resources. This allows the different
          initiator URLs to be propagated across async tasks (e.g. setTimeout())
          coming from different scripts(e.g. importScripts()). So, we can report
          initiator with better granularity than simply reporting worker script
          for all the resources and still be able to track back to the caller when
          an async task fetches a resource.

          There are still limitations on worker thread.

          What are supported:
          1) Resources dynamically fetched by worker script, either
          directly or via a number of common async function calls
          covered by WPT tests that are added in this CL.
          2) JS files imported by "importScripts()"

          What will be supported in future:
          1) Worker script itself;

          What will be either supported or documented about if not supported:
          1) Modular files used in worker thread;
          2) Resources fetched in nested worker script;
          3) Resources fetched in files that are imported via
          "importScripts()".
          Bug: 40919714
          Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
          Reviewed-by: Nate Chapin <jap...@chromium.org>
          Commit-Queue: Guohui Deng <guohu...@microsoft.com>
          Reviewed-by: Scott Haseley <shas...@chromium.org>
          Cr-Commit-Position: refs/heads/main@{#1618936}
          Files:
          • M third_party/blink/renderer/bindings/core/v8/js_based_event_listener.cc
          • M third_party/blink/renderer/core/html/html_frame_owner_element.cc
          • M third_party/blink/renderer/core/loader/frame_fetch_context.cc
          • M third_party/blink/renderer/core/loader/resource_initiator_helper.h
          • M third_party/blink/renderer/core/loader/worker_fetch_context.cc
          • M third_party/blink/renderer/core/loader/worker_fetch_context.h
          • M third_party/blink/renderer/core/scheduler/dom_task.cc
          • M third_party/blink/renderer/core/workers/dedicated_worker_thread.cc
          • M third_party/blink/renderer/core/workers/shared_worker_thread.cc
          • M third_party/blink/renderer/core/workers/worker_global_scope.cc
          • M third_party/blink/renderer/platform/bindings/v8_per_isolate_data.cc
          • M third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h
          • M third_party/blink/web_tests/external/wpt/lint.ignore
          • M third_party/blink/web_tests/external/wpt/resource-timing/resources/loading-resource-lib.js
          • A third_party/blink/web_tests/external/wpt/resource-timing/resources/message-handler-in-shared-worker.js
          • A third_party/blink/web_tests/external/wpt/resource-timing/resources/message-handler-in-worker.js
          • A third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/direct.any.js
          • A third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/post-message-shared-worker.html
          • A third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/post-message-worker.html
          • A third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/post-task.any.js
          • A third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/promise.any.js
          • M third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/promise.html
          • A third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/queue-microtask.any.js
          • A third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/set-interval.any.js
          • A third_party/blink/web_tests/external/wpt/resource-timing/tentative/initiator-url/set-timeout.any.js
          Change size: L
          Delta: 25 files changed, 304 insertions(+), 19 deletions(-)
          Branch: refs/heads/main
          Submit Requirements:
          • requirement satisfiedCode-Review: +1 by Nate Chapin, +1 by Scott Haseley
          Open in Gerrit
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: merged
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
          Gerrit-Change-Number: 7732189
          Gerrit-PatchSet: 12
          Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
          Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
          Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
          open
          diffy
          satisfied_requirement

          Blink W3C Test Autoroller (Gerrit)

          unread,
          Apr 22, 2026, 2:41:09 PM (5 days ago) Apr 22
          to Guohui Deng, Chromium LUCI CQ, Scott Haseley, Nate Chapin, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, chikamu...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, kinuko...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, scheduler-...@chromium.org, shimazu...@chromium.org, web-schedulin...@chromium.org

          Message from Blink W3C Test Autoroller

          The WPT PR for this CL has been merged upstream! https://github.com/web-platform-tests/wpt/pull/59406

          Open in Gerrit

          Related details

          Attention set is empty
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I07d6c744a0f568206404c78290d517865cb31d24
          Gerrit-Change-Number: 7732189
          Gerrit-PatchSet: 12
          Gerrit-Owner: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
          Gerrit-Reviewer: Guohui Deng <guohu...@microsoft.com>
          Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
          Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Comment-Date: Wed, 22 Apr 2026 18:41:04 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: No
          satisfied_requirement
          open
          diffy
          Reply all
          Reply to author
          Forward
          0 new messages