[headless] Add DevTools screen management APIs to headless mode on Linux [chromium/src : main]

0 views
Skip to first unread message

Peter Kvitek (Gerrit)

unread,
Aug 21, 2025, 7:10:35 PMAug 21
to Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
Attention needed from Dmitry Gozman and Mitsuru Oshima

New activity on the change

Open in Gerrit

Related details

Attention is currently required from:
  • Dmitry Gozman
  • Mitsuru Oshima
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: I7d07fa70a372f332a2b26164636120bd25967694
Gerrit-Change-Number: 6852556
Gerrit-PatchSet: 9
Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
Gerrit-Attention: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Comment-Date: Thu, 21 Aug 2025 23:10:26 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Mitsuru Oshima (Gerrit)

unread,
Aug 22, 2025, 6:51:52 PMAug 22
to Peter Kvitek, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
Attention needed from Dmitry Gozman and Peter Kvitek

Mitsuru Oshima added 1 comment

Patchset-level comments
File-level comment, Patchset 9 (Latest):
Mitsuru Oshima . resolved

Hi,is there any docs that I can learn the new headless mode goal/requiremnets? I'm interested in how screen stuff will be used in the headless mode.

Open in Gerrit

Related details

Attention is currently required from:
  • Dmitry Gozman
  • Peter Kvitek
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: I7d07fa70a372f332a2b26164636120bd25967694
Gerrit-Change-Number: 6852556
Gerrit-PatchSet: 9
Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
Gerrit-Attention: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
Gerrit-Comment-Date: Fri, 22 Aug 2025 22:51:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Peter Kvitek (Gerrit)

unread,
Aug 25, 2025, 2:32:52 PM (14 days ago) Aug 25
to Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
Attention needed from Dmitry Gozman and Mitsuru Oshima

Peter Kvitek added 1 comment

Patchset-level comments
Mitsuru Oshima . resolved

Hi,is there any docs that I can learn the new headless mode goal/requiremnets? I'm interested in how screen stuff will be used in the headless mode.

Peter Kvitek

Sure, please check these links:

Chrome new Headless Mode: https://developer.chrome.com/docs/chromium/headless

New Headless Mode vs old Headless: https://developer.chrome.com/blog/chrome-headless-shell

Headless screen configuration: http://go/headless:screen

Dynamic headless screen configuration: http://go/headless:dynamic-screen

Open in Gerrit

Related details

Attention is currently required from:
  • Dmitry Gozman
  • Mitsuru Oshima
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: I7d07fa70a372f332a2b26164636120bd25967694
Gerrit-Change-Number: 6852556
Gerrit-PatchSet: 9
Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
Gerrit-Attention: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Comment-Date: Mon, 25 Aug 2025 18:32:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Mitsuru Oshima <osh...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Dmitry Gozman (Gerrit)

unread,
Aug 26, 2025, 4:08:19 AM (13 days ago) Aug 26
to Peter Kvitek, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
Attention needed from Mitsuru Oshima and Peter Kvitek

Dmitry Gozman added 3 comments

File chrome/browser/devtools/protocol/emulation_handler.cc
Line 35, Patchset 9 (Latest): CHECK(screen);
Dmitry Gozman . unresolved

I'm curious why `CHECK(screen)` if we call `screen->...` in the next line?

Line 100, Patchset 9 (Latest): .SetIsExtended(screen_info.is_extended)
Dmitry Gozman . unresolved

I wonder who's going to use things like `isExtended` or `isInternal`.

Line 171, Patchset 9 (Latest): std::unique_ptr<protocol::Emulation::WorkAreaInsets> work_area_insets,
Dmitry Gozman . unresolved

Does this correspond to `availTop` and similar? Why not use consistent naming in both places?

Open in Gerrit

Related details

Attention is currently required from:
  • Mitsuru Oshima
  • Peter Kvitek
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: I7d07fa70a372f332a2b26164636120bd25967694
    Gerrit-Change-Number: 6852556
    Gerrit-PatchSet: 9
    Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
    Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
    Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
    Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Comment-Date: Tue, 26 Aug 2025 08:08:05 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Peter Kvitek (Gerrit)

    unread,
    Aug 26, 2025, 2:28:34 PM (13 days ago) Aug 26
    to Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
    Attention needed from Dmitry Gozman and Mitsuru Oshima

    Peter Kvitek added 3 comments

    File chrome/browser/devtools/protocol/emulation_handler.cc
    Line 35, Patchset 9: CHECK(screen);
    Dmitry Gozman . resolved

    I'm curious why `CHECK(screen)` if we call `screen->...` in the next line?

    Peter Kvitek

    Changed it to the recommended way of de-referencing non null pointers.

    Line 100, Patchset 9: .SetIsExtended(screen_info.is_extended)
    Dmitry Gozman . resolved

    I wonder who's going to use things like `isExtended` or `isInternal`.

    Peter Kvitek

    Both are exposed to Web Platform, [here](https://developer.mozilla.org/en-US/docs/Web/API/Screen/isExtended) and [here](https://developer.mozilla.org/en-US/docs/Web/API/ScreenDetailed/isInternal).

    `isExtended` tells us if there is more than one display in the system and `isInternal` suggests that the display can be removed from the system.

    Line 171, Patchset 9: std::unique_ptr<protocol::Emulation::WorkAreaInsets> work_area_insets,
    Dmitry Gozman . resolved

    Does this correspond to `availTop` and similar? Why not use consistent naming in both places?

    Peter Kvitek

    They are related, however, `availTop` etc. are reported relative to the primary screen origin at `{0,0}` in logical pixels whereas work area insets are specified relative to the edges of the screen being added and in device pixels.

    The former is convenient when positioning UI elements on the screen, the process that happens in primary screen coordinate system. The latter is convenient because it specifies widths and heights of sidebars and toolbars on this particular screen we're adding, if any. The coordinate conversion math becomes non trivial especially when screens have different scale factors and we want it to be done by `ui/display` core.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Dmitry Gozman
    • Mitsuru Oshima
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    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: I7d07fa70a372f332a2b26164636120bd25967694
    Gerrit-Change-Number: 6852556
    Gerrit-PatchSet: 10
    Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
    Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
    Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
    Gerrit-Attention: Dmitry Gozman <dgo...@chromium.org>
    Gerrit-Comment-Date: Tue, 26 Aug 2025 18:28:26 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Dmitry Gozman <dgo...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Dmitry Gozman (Gerrit)

    unread,
    Aug 26, 2025, 4:39:36 PM (12 days ago) Aug 26
    to Peter Kvitek, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
    Attention needed from Mitsuru Oshima and Peter Kvitek

    Dmitry Gozman voted and added 1 comment

    Votes added by Dmitry Gozman

    Code-Review+1

    1 comment

    Patchset-level comments
    File-level comment, Patchset 10 (Latest):
    Dmitry Gozman . resolved

    devtools and headless lgtm

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Mitsuru Oshima
    • Peter Kvitek
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: I7d07fa70a372f332a2b26164636120bd25967694
      Gerrit-Change-Number: 6852556
      Gerrit-PatchSet: 10
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Comment-Date: Tue, 26 Aug 2025 20:39:18 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mitsuru Oshima (Gerrit)

      unread,
      Aug 27, 2025, 12:40:34 AM (12 days ago) Aug 27
      to Peter Kvitek, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
      Attention needed from Peter Kvitek

      Mitsuru Oshima added 1 comment

      Patchset-level comments
      Mitsuru Oshima . resolved

      Hi,is there any docs that I can learn the new headless mode goal/requiremnets? I'm interested in how screen stuff will be used in the headless mode.

      Peter Kvitek

      Sure, please check these links:

      Chrome new Headless Mode: https://developer.chrome.com/docs/chromium/headless

      New Headless Mode vs old Headless: https://developer.chrome.com/blog/chrome-headless-shell

      Headless screen configuration: http://go/headless:screen

      Dynamic headless screen configuration: http://go/headless:dynamic-screen

      Mitsuru Oshima

      thanks,

      Am I correct that new headless means "nvisible/offscreen UI" instead of "no UI"?

      Is UI code supposed to run as if there is a display (e.g. it receives begin frame from viz process) ?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Peter Kvitek
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: I7d07fa70a372f332a2b26164636120bd25967694
      Gerrit-Change-Number: 6852556
      Gerrit-PatchSet: 10
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Comment-Date: Wed, 27 Aug 2025 04:40:07 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Mitsuru Oshima <osh...@chromium.org>
      Comment-In-Reply-To: Peter Kvitek <kvi...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Peter Kvitek (Gerrit)

      unread,
      Aug 27, 2025, 4:34:07 AM (12 days ago) Aug 27
      to Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
      Attention needed from Mitsuru Oshima

      Peter Kvitek added 1 comment

      Patchset-level comments
      Mitsuru Oshima . resolved

      Hi,is there any docs that I can learn the new headless mode goal/requiremnets? I'm interested in how screen stuff will be used in the headless mode.

      Peter Kvitek

      Sure, please check these links:

      Chrome new Headless Mode: https://developer.chrome.com/docs/chromium/headless

      New Headless Mode vs old Headless: https://developer.chrome.com/blog/chrome-headless-shell

      Headless screen configuration: http://go/headless:screen

      Dynamic headless screen configuration: http://go/headless:dynamic-screen

      Mitsuru Oshima

      thanks,

      Am I correct that new headless means "nvisible/offscreen UI" instead of "no UI"?

      Is UI code supposed to run as if there is a display (e.g. it receives begin frame from viz process) ?

      Peter Kvitek

      Yes, the new headless is a mode of operation of the regular Chrome in which UI is not displayed on any physical screen. This makes all existing and future Chrome features available for test automation.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Mitsuru Oshima
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: I7d07fa70a372f332a2b26164636120bd25967694
      Gerrit-Change-Number: 6852556
      Gerrit-PatchSet: 10
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Comment-Date: Wed, 27 Aug 2025 08:33:58 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Dmitry Gozman (Gerrit)

      unread,
      Aug 27, 2025, 5:33:12 PM (11 days ago) Aug 27
      to Peter Kvitek, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
      Attention needed from Mitsuru Oshima and Peter Kvitek

      Dmitry Gozman voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Mitsuru Oshima
      • Peter Kvitek
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: I7d07fa70a372f332a2b26164636120bd25967694
      Gerrit-Change-Number: 6852556
      Gerrit-PatchSet: 12
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Comment-Date: Wed, 27 Aug 2025 21:32:58 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mitsuru Oshima (Gerrit)

      unread,
      Aug 27, 2025, 7:49:21 PM (11 days ago) Aug 27
      to Peter Kvitek, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
      Attention needed from Peter Kvitek

      Mitsuru Oshima added 1 comment

      Patchset-level comments
      Mitsuru Oshima . resolved

      Hi,is there any docs that I can learn the new headless mode goal/requiremnets? I'm interested in how screen stuff will be used in the headless mode.

      Peter Kvitek

      Sure, please check these links:

      Chrome new Headless Mode: https://developer.chrome.com/docs/chromium/headless

      New Headless Mode vs old Headless: https://developer.chrome.com/blog/chrome-headless-shell

      Headless screen configuration: http://go/headless:screen

      Dynamic headless screen configuration: http://go/headless:dynamic-screen

      Mitsuru Oshima

      thanks,

      Am I correct that new headless means "nvisible/offscreen UI" instead of "no UI"?

      Is UI code supposed to run as if there is a display (e.g. it receives begin frame from viz process) ?

      Peter Kvitek

      Yes, the new headless is a mode of operation of the regular Chrome in which UI is not displayed on any physical screen. This makes all existing and future Chrome features available for test automation.

      Mitsuru Oshima

      So this is for test automation? I believe Windows and mac team was also working on virtual display support (and Linux and Cros can run test without physical displays). Is this to replace them?

      Are you also going to support OS level integration tests or just for unit/browser tests?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Peter Kvitek
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: I7d07fa70a372f332a2b26164636120bd25967694
      Gerrit-Change-Number: 6852556
      Gerrit-PatchSet: 12
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Comment-Date: Wed, 27 Aug 2025 23:48:53 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Peter Kvitek (Gerrit)

      unread,
      Aug 27, 2025, 8:32:55 PM (11 days ago) Aug 27
      to Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
      Attention needed from Mitsuru Oshima

      Peter Kvitek added 1 comment

      Patchset-level comments
      Mitsuru Oshima . resolved

      Hi,is there any docs that I can learn the new headless mode goal/requiremnets? I'm interested in how screen stuff will be used in the headless mode.

      Peter Kvitek

      Sure, please check these links:

      Chrome new Headless Mode: https://developer.chrome.com/docs/chromium/headless

      New Headless Mode vs old Headless: https://developer.chrome.com/blog/chrome-headless-shell

      Headless screen configuration: http://go/headless:screen

      Dynamic headless screen configuration: http://go/headless:dynamic-screen

      Mitsuru Oshima

      thanks,

      Am I correct that new headless means "nvisible/offscreen UI" instead of "no UI"?

      Is UI code supposed to run as if there is a display (e.g. it receives begin frame from viz process) ?

      Peter Kvitek

      Yes, the new headless is a mode of operation of the regular Chrome in which UI is not displayed on any physical screen. This makes all existing and future Chrome features available for test automation.

      Mitsuru Oshima

      So this is for test automation? I believe Windows and mac team was also working on virtual display support (and Linux and Cros can run test without physical displays). Is this to replace them?

      Are you also going to support OS level integration tests or just for unit/browser tests?

      Peter Kvitek

      [Virtual Display Support](https://chromium.googlesource.com/chromium/src/+/main/docs/ui/display/multiscreen_testing.md) is internal, inherently platform specific and tricky to maintain/use, see, for example, [here](https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/exclusive_access/fullscreen_controller_interactive_browsertest.cc;l=1211-1216?q=chrome%2Fbrowser%2Fui%2Fexclusive_access%2Ffullscreen_controller_interactive_browsertest.cc&ss=chromium%2Fchromium%2Fsrc). As a result, the tests that rely on virtual displays are often [skipped](https://ci.chromium.org/ui/test/chromium/ninja%3A%2F%2Fchrome%2Ftest%3Ainteractive_ui_tests%2FMultiScreenFullscreenControllerInteractiveTest.BrowserFullscreenContentFullscreenSwapDisplay).

      Headless Mode does not use underlying platform physical screens, so can emulate any desired screen configuration. The tests that rely on headless screen configuration do not require any platform specific configuration and are much simpler to write/maintain, see [here](https://source.chromium.org/chromium/chromium/src/+/main:components/headless/test/data/protocol/shared/window-zoom-on-secondary-screen.js). It is also available for external web developers.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Mitsuru Oshima
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: I7d07fa70a372f332a2b26164636120bd25967694
      Gerrit-Change-Number: 6852556
      Gerrit-PatchSet: 12
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Comment-Date: Thu, 28 Aug 2025 00:32:44 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mitsuru Oshima (Gerrit)

      unread,
      Aug 29, 2025, 3:15:30 AM (10 days ago) Aug 29
      to Peter Kvitek, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
      Attention needed from Peter Kvitek

      Mitsuru Oshima added 1 comment

      Patchset-level comments
      Mitsuru Oshima . resolved

      Hi,is there any docs that I can learn the new headless mode goal/requiremnets? I'm interested in how screen stuff will be used in the headless mode.

      Peter Kvitek

      Sure, please check these links:

      Chrome new Headless Mode: https://developer.chrome.com/docs/chromium/headless

      New Headless Mode vs old Headless: https://developer.chrome.com/blog/chrome-headless-shell

      Headless screen configuration: http://go/headless:screen

      Dynamic headless screen configuration: http://go/headless:dynamic-screen

      Mitsuru Oshima

      thanks,

      Am I correct that new headless means "nvisible/offscreen UI" instead of "no UI"?

      Is UI code supposed to run as if there is a display (e.g. it receives begin frame from viz process) ?

      Peter Kvitek

      Yes, the new headless is a mode of operation of the regular Chrome in which UI is not displayed on any physical screen. This makes all existing and future Chrome features available for test automation.

      Mitsuru Oshima

      So this is for test automation? I believe Windows and mac team was also working on virtual display support (and Linux and Cros can run test without physical displays). Is this to replace them?

      Are you also going to support OS level integration tests or just for unit/browser tests?

      Peter Kvitek

      [Virtual Display Support](https://chromium.googlesource.com/chromium/src/+/main/docs/ui/display/multiscreen_testing.md) is internal, inherently platform specific and tricky to maintain/use, see, for example, [here](https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/exclusive_access/fullscreen_controller_interactive_browsertest.cc;l=1211-1216?q=chrome%2Fbrowser%2Fui%2Fexclusive_access%2Ffullscreen_controller_interactive_browsertest.cc&ss=chromium%2Fchromium%2Fsrc). As a result, the tests that rely on virtual displays are often [skipped](https://ci.chromium.org/ui/test/chromium/ninja%3A%2F%2Fchrome%2Ftest%3Ainteractive_ui_tests%2FMultiScreenFullscreenControllerInteractiveTest.BrowserFullscreenContentFullscreenSwapDisplay).

      Headless Mode does not use underlying platform physical screens, so can emulate any desired screen configuration. The tests that rely on headless screen configuration do not require any platform specific configuration and are much simpler to write/maintain, see [here](https://source.chromium.org/chromium/chromium/src/+/main:components/headless/test/data/protocol/shared/window-zoom-on-secondary-screen.js). It is also available for external web developers.

      Mitsuru Oshima

      The display support in indeed platform specific and the problem above seems to be because virtual display support wasn't properly added for linux-chrome.

      While this may be okay for WEB API testing, I have concern about making this as an generic solution for multi screen tests in chrome. The display support is inherently platform specific and actual behavior depends on underlying platform.

      One of such issues is the coordinate system. CrOS / MacOS and Wayland uses DP based system, and you can layout displays in terms of DP, but Windows and X11 users pixel based coordinate system, and so certain configuration/layout that is possible on DP based system is not possible on pixel based system, and such different may results in incorrect testing.

      I think if we can limit this for HTML API testing, that'd be okay but should avoid using this for native chrome testing.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Peter Kvitek
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: I7d07fa70a372f332a2b26164636120bd25967694
      Gerrit-Change-Number: 6852556
      Gerrit-PatchSet: 13
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Comment-Date: Fri, 29 Aug 2025 07:15:04 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Peter Kvitek (Gerrit)

      unread,
      Aug 29, 2025, 1:32:51 PM (10 days ago) Aug 29
      to Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
      Attention needed from Mitsuru Oshima

      Peter Kvitek added 1 comment

      Patchset-level comments
      Peter Kvitek

      Absolutely! The primary target users of headless are Web Platform Tests and web developers.

      Testing with headless is not intended to replace any existing tests. Rather, it complements existing testing by providing an accessible, repeatable, and platform-independent testing environment for web developers who use automation.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Mitsuru Oshima
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      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: I7d07fa70a372f332a2b26164636120bd25967694
      Gerrit-Change-Number: 6852556
      Gerrit-PatchSet: 13
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
      Gerrit-Comment-Date: Fri, 29 Aug 2025 17:32:41 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mitsuru Oshima (Gerrit)

      unread,
      Sep 2, 2025, 6:30:25 AM (6 days ago) Sep 2
      to Peter Kvitek, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
      Attention needed from Peter Kvitek

      Mitsuru Oshima added 2 comments

      Patchset-level comments
      Mitsuru Oshima

      Please make sure document it accordingly. I've seen cases where test harness were used incorrectly, which leads to incorrect testing.

      Commit Message
      Line 13, Patchset 13 (Latest):Support on Windows and Mac will be added by the follow up CLs.
      Mitsuru Oshima . unresolved

      The link you provided (MultiScreenFullscreenControllerInteractiveTest
      ) implies virtual display works on Win/Mac/CrOS. What is the issue in using them?

      (at least, the multi display testing should be fully functional on CrOS )

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Peter Kvitek
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        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: I7d07fa70a372f332a2b26164636120bd25967694
        Gerrit-Change-Number: 6852556
        Gerrit-PatchSet: 13
        Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
        Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Comment-Date: Tue, 02 Sep 2025 10:29:58 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Mathias Bynens (Gerrit)

        unread,
        Sep 2, 2025, 10:20:35 AM (6 days ago) Sep 2
        to Peter Kvitek, Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
        Attention needed from Mitsuru Oshima and Peter Kvitek

        Mathias Bynens added 1 comment

        Patchset-level comments
        Mathias Bynens

        Ack. Mitsuru, we’re planning to publish a public web developer-facing blog post announcing the Headless screen-info functionality in the coming weeks. We’ll make sure to clearly capture this nuance.

        Could you please review the CL? Any concerns about the code itself?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Mitsuru Oshima
        • Peter Kvitek
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        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: I7d07fa70a372f332a2b26164636120bd25967694
        Gerrit-Change-Number: 6852556
        Gerrit-PatchSet: 13
        Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
        Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
        Gerrit-CC: Mathias Bynens <mat...@chromium.org>
        Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Comment-Date: Tue, 02 Sep 2025 14:20:18 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Peter Kvitek (Gerrit)

        unread,
        Sep 2, 2025, 10:44:10 AM (6 days ago) Sep 2
        to Mathias Bynens, Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
        Attention needed from Mitsuru Oshima

        Peter Kvitek added 1 comment

        Commit Message
        Line 13, Patchset 13 (Latest):Support on Windows and Mac will be added by the follow up CLs.
        Mitsuru Oshima . unresolved

        The link you provided (MultiScreenFullscreenControllerInteractiveTest
        ) implies virtual display works on Win/Mac/CrOS. What is the issue in using them?

        (at least, the multi display testing should be fully functional on CrOS )

        Peter Kvitek

        I'm not sure I follow, could you please be more specific re: MultiScreenFullscreenControllerInteractiveTest?

        Headless Mode is currently supported on Linux, Windows and Mac only. It is not supported on CrOS at this time.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Mitsuru Oshima
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        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: I7d07fa70a372f332a2b26164636120bd25967694
        Gerrit-Change-Number: 6852556
        Gerrit-PatchSet: 13
        Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
        Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
        Gerrit-CC: Mathias Bynens <mat...@chromium.org>
        Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Comment-Date: Tue, 02 Sep 2025 14:43:59 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Mitsuru Oshima (Gerrit)

        unread,
        Sep 3, 2025, 12:33:46 PM (5 days ago) Sep 3
        to Peter Kvitek, Mathias Bynens, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
        Attention needed from Peter Kvitek

        Mitsuru Oshima added 1 comment

        Commit Message
        Line 13, Patchset 13 (Latest):Support on Windows and Mac will be added by the follow up CLs.
        Mitsuru Oshima . unresolved

        The link you provided (MultiScreenFullscreenControllerInteractiveTest
        ) implies virtual display works on Win/Mac/CrOS. What is the issue in using them?

        (at least, the multi display testing should be fully functional on CrOS )

        Peter Kvitek

        I'm not sure I follow, could you please be more specific re: MultiScreenFullscreenControllerInteractiveTest?

        Headless Mode is currently supported on Linux, Windows and Mac only. It is not supported on CrOS at this time.

        Mitsuru Oshima

        My undestanding is that the goal of this new headless mode was to support multi display in test automation on linux, as the virtual dispplay isn't available on linux.

        This CL makese sense because the display emulation isn't available on liux, but if you're going to expand this to other platforms, I'd like to know what is the issue in using virtual display in tests.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Peter Kvitek
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        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: I7d07fa70a372f332a2b26164636120bd25967694
        Gerrit-Change-Number: 6852556
        Gerrit-PatchSet: 13
        Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
        Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
        Gerrit-CC: Mathias Bynens <mat...@chromium.org>
        Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Comment-Date: Wed, 03 Sep 2025 16:33:36 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Mitsuru Oshima <osh...@chromium.org>
        Comment-In-Reply-To: Peter Kvitek <kvi...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Andrey Kosyakov (Gerrit)

        unread,
        Sep 3, 2025, 12:46:00 PM (5 days ago) Sep 3
        to Peter Kvitek, Mathias Bynens, Dmitry Gozman, Mitsuru Oshima, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
        Attention needed from Peter Kvitek

        Andrey Kosyakov added 1 comment

        Commit Message
        Line 13, Patchset 13 (Latest):Support on Windows and Mac will be added by the follow up CLs.
        Mitsuru Oshima . unresolved

        The link you provided (MultiScreenFullscreenControllerInteractiveTest
        ) implies virtual display works on Win/Mac/CrOS. What is the issue in using them?

        (at least, the multi display testing should be fully functional on CrOS )

        Peter Kvitek

        I'm not sure I follow, could you please be more specific re: MultiScreenFullscreenControllerInteractiveTest?

        Headless Mode is currently supported on Linux, Windows and Mac only. It is not supported on CrOS at this time.

        Mitsuru Oshima

        My undestanding is that the goal of this new headless mode was to support multi display in test automation on linux, as the virtual dispplay isn't available on linux.

        This CL makese sense because the display emulation isn't available on liux, but if you're going to expand this to other platforms, I'd like to know what is the issue in using virtual display in tests.

        Andrey Kosyakov

        I think there's a bit of confusion here. Headless Chrome is production code that we ship to all users of chrome. Yes, it's often used in tests (by the external developers to test their sites and applications, not by chrome developers to test chrome), but its use goes well beyond testing application (web harvesting, agentic use etc) -- pretty much every use case where chrome runs unattended. We should not use anything that is under test/ or has a word test in its name in the production code, so relying on VirtualDisplayUtil in its present shape is not an option. If you have a suggested course of action other than approach taken in this CL, we would appreciate a direct suggestion here. If not, can we please proceed with the actual review of the code here?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Peter Kvitek
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        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: I7d07fa70a372f332a2b26164636120bd25967694
        Gerrit-Change-Number: 6852556
        Gerrit-PatchSet: 13
        Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
        Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
        Gerrit-CC: Andrey Kosyakov <ca...@chromium.org>
        Gerrit-CC: Mathias Bynens <mat...@chromium.org>
        Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Comment-Date: Wed, 03 Sep 2025 16:45:50 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Mitsuru Oshima (Gerrit)

        unread,
        Sep 3, 2025, 9:40:46 PM (4 days ago) Sep 3
        to Peter Kvitek, Andrey Kosyakov, Mathias Bynens, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
        Attention needed from Peter Kvitek

        Mitsuru Oshima voted and added 2 comments

        Votes added by Mitsuru Oshima

        Code-Review+1

        2 comments

        Patchset-level comments
        File-level comment, Patchset 13 (Latest):
        Mitsuru Oshima . resolved

        thank you for clarification. lgmt with one nit, and also one request for future work. Because all ozone platforms are also aura, I think we can create headless screen for aura and use it for all ozone platforms.

        File ui/ozone/platform/headless/headless_screen.h
        Line 31, Patchset 13 (Latest): private:
        Mitsuru Oshima . unresolved

        This private isn't much userful because you can always use superclass to acccess them. Just keep them public.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Peter Kvitek
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        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: I7d07fa70a372f332a2b26164636120bd25967694
        Gerrit-Change-Number: 6852556
        Gerrit-PatchSet: 13
        Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
        Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
        Gerrit-CC: Andrey Kosyakov <ca...@chromium.org>
        Gerrit-CC: Mathias Bynens <mat...@chromium.org>
        Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Comment-Date: Thu, 04 Sep 2025 01:40:33 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Peter Kvitek (Gerrit)

        unread,
        Sep 3, 2025, 10:25:00 PM (4 days ago) Sep 3
        to Mitsuru Oshima, Andrey Kosyakov, Mathias Bynens, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
        Attention needed from Andrey Kosyakov

        Peter Kvitek added 2 comments

        Commit Message
        Line 13, Patchset 13:Support on Windows and Mac will be added by the follow up CLs.
        Mitsuru Oshima . resolved

        The link you provided (MultiScreenFullscreenControllerInteractiveTest
        ) implies virtual display works on Win/Mac/CrOS. What is the issue in using them?

        (at least, the multi display testing should be fully functional on CrOS )

        Peter Kvitek

        I'm not sure I follow, could you please be more specific re: MultiScreenFullscreenControllerInteractiveTest?

        Headless Mode is currently supported on Linux, Windows and Mac only. It is not supported on CrOS at this time.

        Mitsuru Oshima

        My undestanding is that the goal of this new headless mode was to support multi display in test automation on linux, as the virtual dispplay isn't available on linux.

        This CL makese sense because the display emulation isn't available on liux, but if you're going to expand this to other platforms, I'd like to know what is the issue in using virtual display in tests.

        Andrey Kosyakov

        I think there's a bit of confusion here. Headless Chrome is production code that we ship to all users of chrome. Yes, it's often used in tests (by the external developers to test their sites and applications, not by chrome developers to test chrome), but its use goes well beyond testing application (web harvesting, agentic use etc) -- pretty much every use case where chrome runs unattended. We should not use anything that is under test/ or has a word test in its name in the production code, so relying on VirtualDisplayUtil in its present shape is not an option. If you have a suggested course of action other than approach taken in this CL, we would appreciate a direct suggestion here. If not, can we please proceed with the actual review of the code here?

        Peter Kvitek

        Got in sync during an online meeting, and confirmed it's all clear now. Thank you all for participating!

        File ui/ozone/platform/headless/headless_screen.h
        Line 31, Patchset 13: private:
        Mitsuru Oshima . resolved

        This private isn't much userful because you can always use superclass to acccess them. Just keep them public.

        Peter Kvitek

        Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Andrey Kosyakov
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        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: I7d07fa70a372f332a2b26164636120bd25967694
        Gerrit-Change-Number: 6852556
        Gerrit-PatchSet: 14
        Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
        Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
        Gerrit-CC: Andrey Kosyakov <ca...@chromium.org>
        Gerrit-CC: Mathias Bynens <mat...@chromium.org>
        Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
        Gerrit-Comment-Date: Thu, 04 Sep 2025 02:24:49 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Mitsuru Oshima <osh...@chromium.org>
        Comment-In-Reply-To: Andrey Kosyakov <ca...@chromium.org>
        Comment-In-Reply-To: Peter Kvitek <kvi...@chromium.org>
        satisfied_requirement
        open
        diffy

        Peter Kvitek (Gerrit)

        unread,
        Sep 3, 2025, 10:25:06 PM (4 days ago) Sep 3
        to Mitsuru Oshima, Andrey Kosyakov, Mathias Bynens, Dmitry Gozman, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org
        Attention needed from Andrey Kosyakov

        Peter Kvitek voted Commit-Queue+2

        Commit-Queue+2
        Gerrit-Comment-Date: Thu, 04 Sep 2025 02:24:55 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Chromium LUCI CQ (Gerrit)

        unread,
        Sep 3, 2025, 11:13:36 PM (4 days ago) Sep 3
        to Peter Kvitek, Mitsuru Oshima, Andrey Kosyakov, Mathias Bynens, Dmitry Gozman, chromium...@chromium.org, devtools...@chromium.org, headless...@chromium.org, ozone-...@chromium.org

        Chromium LUCI CQ submitted the change with unreviewed changes

        Unreviewed changes

        13 is the latest approved patch-set.
        The change was submitted with unreviewed changes in the following files:

        ```
        The name of the file: ui/ozone/platform/headless/headless_screen.h
        Insertions: 1, Deletions: 1.

        The diff is too large to show. Please review the diff.
        ```

        Change information

        Commit message:
        [headless] Add DevTools screen management APIs to headless mode on Linux

        http://crrev.com/c/6828750 added Emulation.getScreenInfos, .addScreen
        and .removeScreen APIs to headless shell. This CL implements these APIs
        in Chrome Headless Mode on Linux.


        Support on Windows and Mac will be added by the follow up CLs.
        Bug: 437387607
        Change-Id: I7d07fa70a372f332a2b26164636120bd25967694
        Reviewed-by: Mitsuru Oshima <osh...@chromium.org>
        Commit-Queue: Peter Kvitek <kvi...@chromium.org>
        Reviewed-by: Dmitry Gozman <dgo...@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#1510680}
        Files:
        • M chrome/browser/devtools/BUILD.gn
        • M chrome/browser/devtools/inspector_protocol_config.json
        • M chrome/browser/devtools/protocol/emulation_handler.cc
        • M chrome/browser/devtools/protocol/emulation_handler.h
        • M chrome/browser/headless/headless_mode_protocol_browsertest.cc
        • M ui/display/BUILD.gn
        • A ui/display/headless/DEPS
        • A ui/display/headless/OWNERS
        • A ui/display/headless/headless_screen_manager.cc
        • A ui/display/headless/headless_screen_manager.h
        • M ui/ozone/platform/headless/BUILD.gn
        • M ui/ozone/platform/headless/headless_screen.cc
        • M ui/ozone/platform/headless/headless_screen.h
        Change size: L
        Delta: 13 files changed, 405 insertions(+), 15 deletions(-)
        Branch: refs/heads/main
        Submit Requirements:
        • requirement satisfiedCode-Review: +1 by Dmitry Gozman, +1 by Mitsuru Oshima
        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: I7d07fa70a372f332a2b26164636120bd25967694
        Gerrit-Change-Number: 6852556
        Gerrit-PatchSet: 15
        Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
        Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
        Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
        Gerrit-CC: Andrey Kosyakov <ca...@chromium.org>
        open
        diffy
        satisfied_requirement
        Reply all
        Reply to author
        Forward
        0 new messages