Create ChildProcessId mojom [chromium/src : main]

0 views
Skip to first unread message

Christopher Staite (Gerrit)

unread,
9:04 AM (11 hours ago) 9:04 AM
to Simon Hangl, Rijubrata Bhaumik, Kevin McNee, James Maclean, Andrew Rayskiy, Matt Reynolds, James Cook, Antonio Rivera, Antonio Sartori, Chromium LUCI CQ, Avi Drissman, AyeAye, Will Harris, Chromium IPC Reviews, Dmitry Gozman, chromium...@chromium.org, toyosh...@chromium.org, feature-me...@chromium.org, performance-m...@chromium.org, chfreme...@chromium.org, rmcelra...@chromium.org, extension...@chromium.org, chromium-a...@chromium.org, feature-v...@chromium.org, halliwe...@chromium.org, ipc-securi...@chromium.org
Attention needed from Antonio Rivera, Antonio Sartori, Avi Drissman, Dmitry Gozman, James Cook and Matt Reynolds

Message from Christopher Staite

Set Ready For Review

Open in Gerrit

Related details

Attention is currently required from:
  • Antonio Rivera
  • Antonio Sartori
  • Avi Drissman
  • Dmitry Gozman
  • James Cook
  • Matt Reynolds
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: I3bcfb3851e871fbe06ceff6616c17130f4000e0b
Gerrit-Change-Number: 7269607
Gerrit-PatchSet: 11
Gerrit-Owner: Christopher Staite <christoph...@menlosecurity.com>
Gerrit-Reviewer: Antonio Rivera <anto...@google.com>
Gerrit-Reviewer: Antonio Sartori <antonio...@chromium.org>
Gerrit-Reviewer: Avi Drissman <a...@chromium.org>
Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Reviewer: James Cook <jame...@chromium.org>
Gerrit-Reviewer: Matt Reynolds <mattre...@chromium.org>
Gerrit-CC: Andrew Rayskiy <green...@google.com>
Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-CC: James Maclean <wjma...@chromium.org>
Gerrit-CC: Kevin McNee <mc...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-CC: Simon Hangl <sim...@google.com>
Gerrit-CC: Will Harris <w...@chromium.org>
Gerrit-CC: gwsq
Gerrit-Attention: James Cook <jame...@chromium.org>
Gerrit-Attention: Antonio Rivera <anto...@google.com>
Gerrit-Attention: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Attention: Avi Drissman <a...@chromium.org>
Gerrit-Attention: Matt Reynolds <mattre...@chromium.org>
Gerrit-Attention: Antonio Sartori <antonio...@chromium.org>
Gerrit-Comment-Date: Mon, 19 Jan 2026 14:04:03 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Christopher Staite (Gerrit)

unread,
9:04 AM (11 hours ago) 9:04 AM
to Simon Hangl, Rijubrata Bhaumik, Kevin McNee, James Maclean, Andrew Rayskiy, Matt Reynolds, James Cook, Antonio Rivera, Antonio Sartori, Chromium LUCI CQ, Avi Drissman, AyeAye, Will Harris, Chromium IPC Reviews, Dmitry Gozman, chromium...@chromium.org, toyosh...@chromium.org, feature-me...@chromium.org, performance-m...@chromium.org, chfreme...@chromium.org, rmcelra...@chromium.org, extension...@chromium.org, chromium-a...@chromium.org, feature-v...@chromium.org, halliwe...@chromium.org, ipc-securi...@chromium.org
Attention needed from Antonio Rivera, Antonio Sartori, Avi Drissman, Dmitry Gozman, James Cook and Matt Reynolds

Christopher Staite added 1 comment

Patchset-level comments
File-level comment, Patchset 11 (Latest):
Christopher Staite . resolved

I think I've resolved the dependency issues now with a move to common. If I could get a CQ+1 to validate that will save me a lot of build time. Thanks.

Gerrit-Comment-Date: Mon, 19 Jan 2026 14:04:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Christopher Staite (Gerrit)

unread,
9:05 AM (11 hours ago) 9:05 AM
to Simon Hangl, Rijubrata Bhaumik, Kevin McNee, James Maclean, Andrew Rayskiy, Matt Reynolds, James Cook, Antonio Rivera, Antonio Sartori, Chromium LUCI CQ, Avi Drissman, AyeAye, Will Harris, Chromium IPC Reviews, Dmitry Gozman, chromium...@chromium.org, toyosh...@chromium.org, feature-me...@chromium.org, performance-m...@chromium.org, chfreme...@chromium.org, rmcelra...@chromium.org, extension...@chromium.org, chromium-a...@chromium.org, feature-v...@chromium.org, halliwe...@chromium.org, ipc-securi...@chromium.org
Attention needed from Antonio Rivera, Antonio Sartori, Avi Drissman, Dmitry Gozman, James Cook and Matt Reynolds

Christopher Staite added 1 comment

File extensions/renderer/api/messaging/native_renderer_messaging_service.cc
Line 16, Patchset 9:#include "content/public/browser/child_process_id.h"
James Cook . resolved

Code in //extensions/renderer is renderer code and cannot depend on browser code. It looks like this file and the test only rely on kInvalidChildProcessUniqueId. Perhaps that could move back to content_constants.h, since it's used in more than just browser code?

Christopher Staite

The issue is that depending on that causes a circular dependency that I struggled to unpick. Very welcome to suggestions here. Perhaps we should move child_process_id.h to common?

Antonio Sartori

Can't you put this in `content/common` since it needs to be used by renderer code? What is the circular dependency issue?

Christopher Staite

`child_process_id.h` depended on `content_constants.h` for the `kInvalidChildProcessUniqueId`. There was a circular dependency that `child_process_id.h` was depended on by `content/common:common_sources` which then depended on `content/common:child_process_id`.

Antonio Sartori

I am looking again at this. If you are sending ChildProcessId via mojo it likely means that you'll need to use it from other processes than the browser process. Hence ChildProcessId and its mojo related code should not be in //content/public/browser, but in //content/public/common, no?

Before investigating dependency problems more deeply, I think you should fix that.

Christopher Staite

A very good point, and makes a lot of sense. To avoid conflating issues, I've raised a separate CL for this and then I'll rebase this one over it which should null out a lot of the changes.

https://crrev.com/c/7460969

Christopher Staite

Done

Gerrit-Comment-Date: Mon, 19 Jan 2026 14:05:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: James Cook <jame...@chromium.org>
Comment-In-Reply-To: Christopher Staite <christoph...@menlosecurity.com>
Comment-In-Reply-To: Antonio Sartori <antonio...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Christopher Staite (Gerrit)

unread,
10:56 AM (9 hours ago) 10:56 AM
to Antonio Sartori, Simon Hangl, Rijubrata Bhaumik, Kevin McNee, James Maclean, Andrew Rayskiy, Matt Reynolds, James Cook, Antonio Rivera, Chromium LUCI CQ, Avi Drissman, AyeAye, Will Harris, Chromium IPC Reviews, Dmitry Gozman, chromium...@chromium.org, toyosh...@chromium.org, feature-me...@chromium.org, performance-m...@chromium.org, chfreme...@chromium.org, rmcelra...@chromium.org, extension...@chromium.org, chromium-a...@chromium.org, feature-v...@chromium.org, halliwe...@chromium.org, ipc-securi...@chromium.org
Attention needed from Matt Reynolds

Christopher Staite added 1 comment

Patchset-level comments
Christopher Staite . resolved

Looks like the tests at least are sending an invalid value (-1 or 0):
```
[3364:7468:0119/070053.551:INFO:CONSOLE:114] "Requesting immersive VR session", source: https://127.0.0.1:50618/chrome/test/data/xr/e2e_test_files/resources/webxr_boilerplate.js (114)
[3364:7468:0119/070053.551:INFO:chrome\browser\vr\test\xr_browser_test.cc:312] Run JavaScript: sessionInfos[sessionTypes.IMMERSIVE].currentSession != null
[8992:9448:0119/070053.553:ERROR:mojo\public\cpp\bindings\lib\validation_errors.cc:112] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED
[8992:9448:0119/070053.553:ERROR:mojo\public\cpp\bindings\lib\interface_endpoint_client.cc:748] Message 0 rejected by interface device.mojom.XRRuntime
[3364:7468:0119/070053.556:INFO:CONSOLE:0] "Could not create a session because: An unknown error occurred", source: https://127.0.0.1:50618/chrome/test/data/xr/e2e_test_files/html/generic_webxr_page.html (0)
```
I'm not really sure why as of yet, have you got any clues @mattre...@chromium.org?

Open in Gerrit

Related details

Attention is currently required from:
  • Matt Reynolds
Gerrit-Attention: Matt Reynolds <mattre...@chromium.org>
Gerrit-Comment-Date: Mon, 19 Jan 2026 15:56:28 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Christopher Staite (Gerrit)

unread,
11:31 AM (8 hours ago) 11:31 AM
to Antonio Sartori, Simon Hangl, Rijubrata Bhaumik, Kevin McNee, James Maclean, Andrew Rayskiy, Matt Reynolds, James Cook, Antonio Rivera, Chromium LUCI CQ, Avi Drissman, AyeAye, Will Harris, Chromium IPC Reviews, Dmitry Gozman, chromium...@chromium.org, toyosh...@chromium.org, feature-me...@chromium.org, performance-m...@chromium.org, chfreme...@chromium.org, rmcelra...@chromium.org, extension...@chromium.org, chromium-a...@chromium.org, feature-v...@chromium.org, halliwe...@chromium.org, ipc-securi...@chromium.org
Attention needed from Matt Reynolds

Christopher Staite added 1 comment

Patchset-level comments
Christopher Staite . resolved

Looks like the tests at least are sending an invalid value (-1 or 0):
```
[3364:7468:0119/070053.551:INFO:CONSOLE:114] "Requesting immersive VR session", source: https://127.0.0.1:50618/chrome/test/data/xr/e2e_test_files/resources/webxr_boilerplate.js (114)
[3364:7468:0119/070053.551:INFO:chrome\browser\vr\test\xr_browser_test.cc:312] Run JavaScript: sessionInfos[sessionTypes.IMMERSIVE].currentSession != null
[8992:9448:0119/070053.553:ERROR:mojo\public\cpp\bindings\lib\validation_errors.cc:112] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED
[8992:9448:0119/070053.553:ERROR:mojo\public\cpp\bindings\lib\interface_endpoint_client.cc:748] Message 0 rejected by interface device.mojom.XRRuntime
[3364:7468:0119/070053.556:INFO:CONSOLE:0] "Could not create a session because: An unknown error occurred", source: https://127.0.0.1:50618/chrome/test/data/xr/e2e_test_files/html/generic_webxr_page.html (0)
```
I'm not really sure why as of yet, have you got any clues @mattre...@chromium.org?

Christopher Staite

I think I found it. The values are optional and only sent on Android, hence the Windows tests failing. I've moved them to an optional struct and made the code fail if they aren't populated on Android. I set them to invalid values on Windows. Perhaps it would be better to have another optional in `OpenXrCreateInfo`?

Gerrit-Comment-Date: Mon, 19 Jan 2026 16:31:52 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Christopher Staite <christoph...@menlosecurity.com>
satisfied_requirement
unsatisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages