[headless] Add CDP Emulation.updateScreen() API to headless shell [chromium/src : main]

0 views
Skip to first unread message

Peter Kvitek (Gerrit)

unread,
Mar 2, 2026, 10:39:10 AM (yesterday) Mar 2
to Colin Blundell, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools-re...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, roblia...@chromium.org
Attention needed from Colin Blundell

New activity on the change

Open in Gerrit

Related details

Attention is currently required from:
  • Colin Blundell
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • 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: I99eb4fa3b7d3206a4c37807df750a529ee95e53f
Gerrit-Change-Number: 7617849
Gerrit-PatchSet: 3
Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
Gerrit-Attention: Colin Blundell <blun...@chromium.org>
Gerrit-Comment-Date: Mon, 02 Mar 2026 15:39:03 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Colin Blundell (Gerrit)

unread,
Mar 2, 2026, 10:58:21 AM (yesterday) Mar 2
to Peter Kvitek, Colin Blundell, Andrey Kosyakov, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools-re...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, roblia...@chromium.org
Attention needed from Andrey Kosyakov and Peter Kvitek

Colin Blundell added 1 comment

Patchset-level comments
File-level comment, Patchset 3 (Latest):
Colin Blundell . resolved

Thanks! I'll review after caseq@ does the main technical review.

Open in Gerrit

Related details

Attention is currently required from:
  • Andrey Kosyakov
  • Peter Kvitek
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • 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: I99eb4fa3b7d3206a4c37807df750a529ee95e53f
Gerrit-Change-Number: 7617849
Gerrit-PatchSet: 3
Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
Gerrit-Comment-Date: Mon, 02 Mar 2026 15:58:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Andrey Kosyakov (Gerrit)

unread,
Mar 2, 2026, 6:40:06 PM (20 hours ago) Mar 2
to Peter Kvitek, Colin Blundell, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools-re...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, roblia...@chromium.org
Attention needed from Peter Kvitek

Andrey Kosyakov voted and added 1 comment

Votes added by Andrey Kosyakov

Code-Review+1

1 comment

Patchset-level comments
Andrey Kosyakov . resolved

lgtm

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 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: I99eb4fa3b7d3206a4c37807df750a529ee95e53f
    Gerrit-Change-Number: 7617849
    Gerrit-PatchSet: 3
    Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
    Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
    Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Comment-Date: Mon, 02 Mar 2026 23:39:59 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Colin Blundell (Gerrit)

    unread,
    2:40 AM (12 hours ago) 2:40 AM
    to Peter Kvitek, Colin Blundell, Andrey Kosyakov, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools-re...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, roblia...@chromium.org
    Attention needed from Peter Kvitek

    Colin Blundell voted and added 3 comments

    Votes added by Colin Blundell

    Code-Review+1

    3 comments

    Patchset-level comments
    File-level comment, Patchset 4 (Latest):
    Colin Blundell . resolved

    Thanks! LGTM with question.

    File ui/ozone/platform/headless/headless_screen.cc
    Line 29, Patchset 4 (Latest):using display::Display;
    Colin Blundell . unresolved

    Why are these changes in this CL?

    Line 164, Patchset 4 (Latest):void HeadlessScreen::UpdateDisplay(const Display& display) {
    Colin Blundell . unresolved

    This is the only change to this file that I would expect in this CL.

    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
    • 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: I99eb4fa3b7d3206a4c37807df750a529ee95e53f
    Gerrit-Change-Number: 7617849
    Gerrit-PatchSet: 4
    Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
    Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
    Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Attention: Peter Kvitek <kvi...@chromium.org>
    Gerrit-Comment-Date: Tue, 03 Mar 2026 07:40:35 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Peter Kvitek (Gerrit)

    unread,
    10:07 AM (5 hours ago) 10:07 AM
    to Colin Blundell, Andrey Kosyakov, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools-re...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, roblia...@chromium.org

    Peter Kvitek added 2 comments

    File ui/ozone/platform/headless/headless_screen.cc
    Line 29, Patchset 4 (Latest):using display::Display;
    Colin Blundell . resolved

    Why are these changes in this CL?

    Peter Kvitek

    It's a 'drive by' update mentioned in the commit message. Intended to improve readability.

    Line 164, Patchset 4 (Latest):void HeadlessScreen::UpdateDisplay(const Display& display) {
    Colin Blundell . resolved

    This is the only change to this file that I would expect in this CL.

    Peter Kvitek

    This is to minimize amount of times the owners have to review this file. Since the core change is trivial, it seemed reasonable to improve readability.

    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: I99eb4fa3b7d3206a4c37807df750a529ee95e53f
      Gerrit-Change-Number: 7617849
      Gerrit-PatchSet: 4
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Comment-Date: Tue, 03 Mar 2026 15:07:21 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Colin Blundell <blun...@chromium.org>
      satisfied_requirement
      open
      diffy

      Peter Kvitek (Gerrit)

      unread,
      10:07 AM (5 hours ago) 10:07 AM
      to Colin Blundell, Andrey Kosyakov, Chromium LUCI CQ, chromium...@chromium.org, devtools...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools-re...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, roblia...@chromium.org

      Peter Kvitek 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: I99eb4fa3b7d3206a4c37807df750a529ee95e53f
      Gerrit-Change-Number: 7617849
      Gerrit-PatchSet: 4
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Comment-Date: Tue, 03 Mar 2026 15:07:26 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      10:10 AM (5 hours ago) 10:10 AM
      to Peter Kvitek, Colin Blundell, Andrey Kosyakov, chromium...@chromium.org, devtools...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools-re...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, roblia...@chromium.org

      Chromium LUCI CQ submitted the change

      Change information

      Commit message:
      [headless] Add CDP Emulation.updateScreen() API to headless shell

      This CL introduces DevTools Protocol Emulation.updateScreen() method,
      which allows browser automation users to change existing screen
      parameters such as origin, size, work area, scale, rotation, etc.

      This is currently available only in the headless shell. Support for
      Chrome Headless Mode will be added in follow-up CLs.

      Drive by: Improved readability by eliminating excessive use of explicit
      display::Display namespace specification in headless screen
      implementations.
      Bug: 397350115, 404587568, 488128044
      Change-Id: I99eb4fa3b7d3206a4c37807df750a529ee95e53f
      Reviewed-by: Andrey Kosyakov <ca...@chromium.org>
      Reviewed-by: Colin Blundell <blun...@chromium.org>
      Commit-Queue: Peter Kvitek <kvi...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1593215}
      Files:
      • A components/headless/test/data/protocol/shared/update-screen-bounds-expected.txt
      • A components/headless/test/data/protocol/shared/update-screen-bounds.js
      • A components/headless/test/data/protocol/shared/update-screen-color-depth-expected.txt
      • A components/headless/test/data/protocol/shared/update-screen-color-depth.js
      • A components/headless/test/data/protocol/shared/update-screen-device-pixel-ratio-expected.txt
      • A components/headless/test/data/protocol/shared/update-screen-device-pixel-ratio.js
      • A components/headless/test/data/protocol/shared/update-screen-is-internal-expected.txt
      • A components/headless/test/data/protocol/shared/update-screen-is-internal.js
      • A components/headless/test/data/protocol/shared/update-screen-label-expected.txt
      • A components/headless/test/data/protocol/shared/update-screen-label.js
      • A components/headless/test/data/protocol/shared/update-screen-rotation-landscape-expected.txt
      • A components/headless/test/data/protocol/shared/update-screen-rotation-landscape.js
      • A components/headless/test/data/protocol/shared/update-screen-rotation-portrait-expected.txt
      • A components/headless/test/data/protocol/shared/update-screen-rotation-portrait.js
      • A components/headless/test/data/protocol/shared/update-screen-work-area-expected.txt
      • A components/headless/test/data/protocol/shared/update-screen-work-area.js
      • M headless/lib/browser/headless_screen.cc
      • M headless/lib/browser/headless_screen.h
      • M headless/lib/browser/protocol/emulation_handler.cc
      • M headless/lib/browser/protocol/emulation_handler.h
      • M headless/protocol_config.json
      • M headless/test/headless_protocol_browsertest.cc
      • M third_party/blink/public/devtools_protocol/domains/Emulation.pdl
      • M ui/display/headless/headless_screen_manager.cc
      • M ui/display/headless/headless_screen_manager.h
      • M ui/display/headless/headless_screen_util.cc
      • M ui/display/headless/headless_screen_util.h
      • M ui/display/headless/headless_screen_util_unittest.cc
      • M ui/display/mac/screen_mac_headless.h
      • M ui/display/mac/screen_mac_headless.mm
      • M ui/display/win/screen_win_headless.cc
      • M ui/display/win/screen_win_headless.h
      • M ui/ozone/platform/headless/headless_screen.cc
      • M ui/ozone/platform/headless/headless_screen.h
      Change size: XL
      Delta: 34 files changed, 1069 insertions(+), 41 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Colin Blundell, +1 by Andrey Kosyakov
      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: I99eb4fa3b7d3206a4c37807df750a529ee95e53f
      Gerrit-Change-Number: 7617849
      Gerrit-PatchSet: 5
      Gerrit-Owner: Peter Kvitek <kvi...@chromium.org>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
      Gerrit-Reviewer: Peter Kvitek <kvi...@chromium.org>
      open
      diffy
      satisfied_requirement
      Reply all
      Reply to author
      Forward
      0 new messages