Surface Embed: Support pointer lock [chromium/src : main]

0 views
Skip to first unread message

Cammie Smith Barnes (Gerrit)

unread,
Jun 16, 2026, 6:54:02 PMJun 16
to Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

New activity on the change

Open in Gerrit

Related details

Attention set is empty
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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
Gerrit-Change-Number: 7952023
Gerrit-PatchSet: 16
Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
Gerrit-Reviewer: Surface Embed Reviews <surface-em...@google.com>
Gerrit-Comment-Date: Tue, 16 Jun 2026 22:53:53 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

gwsq (Gerrit)

unread,
Jun 16, 2026, 6:57:26 PMJun 16
to Cammie Smith Barnes, Surface Embed Reviews, Maks Orlovich, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
Attention needed from Maks Orlovich

Message from gwsq

Reviewer source(s):
morl...@chromium.org is from context(googleclient/chrome/chromium_gwsq/components/surface_embed/config.gwsq)

Open in Gerrit

Related details

Attention is currently required from:
  • Maks Orlovich
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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
Gerrit-Change-Number: 7952023
Gerrit-PatchSet: 16
Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
Gerrit-CC: gwsq
Gerrit-Attention: Maks Orlovich <morl...@chromium.org>
Gerrit-Comment-Date: Tue, 16 Jun 2026 22:56:47 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Maks Orlovich (Gerrit)

unread,
Jun 17, 2026, 3:20:53 PMJun 17
to Cammie Smith Barnes, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
Attention needed from Cammie Smith Barnes

Maks Orlovich added 4 comments

File content/browser/surface_embed/surface_embed_connector_impl.cc
Line 191, Patchset 16 (Latest): return static_cast<RenderWidgetHostView*>(GetRootRenderWidgetHostView());
Maks Orlovich . unresolved

...I think you don't actually need this cast, and probably not even this level?
RenderWidgetHostViewBase is a /subclass/ of RenderWidgetHostView.

Also is Root vs. TopLevel supposed to be meaningful?

File content/browser/web_contents/web_contents_impl.cc
Line 5322, Patchset 16 (Parent): delegate_->RequestPointerLock(this, user_gesture, last_unlocked_by_target);
Maks Orlovich . unresolved

This didn't actually change delegate_ across the loop? And I think we would want the delegate for the Browser object, and not the webui_browser here?

Line 5331, Patchset 16 (Parent): if (!delegate_ || (pointer_lock_widget_ != render_widget_host)) {
Maks Orlovich . unresolved

And this didn't even bother having a loop.

Line 9697, Patchset 16 (Latest):void WebContentsImpl::SetPointerLockWidgetInParentChain(
Maks Orlovich . unresolved

So high level: does a webpage grabbing a lock limit the top-level in webui_browser it won't in a views browser?

Open in Gerrit

Related details

Attention is currently required from:
  • Cammie Smith Barnes
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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
    Gerrit-Change-Number: 7952023
    Gerrit-PatchSet: 16
    Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
    Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
    Gerrit-CC: gwsq
    Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Comment-Date: Wed, 17 Jun 2026 19:20:32 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Cammie Smith Barnes (Gerrit)

    unread,
    Jun 23, 2026, 2:26:12 PMJun 23
    to Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Maks Orlovich, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

    Cammie Smith Barnes added 1 comment

    File content/browser/surface_embed/surface_embed_connector_impl.cc
    Line 191, Patchset 16: return static_cast<RenderWidgetHostView*>(GetRootRenderWidgetHostView());
    Maks Orlovich . resolved

    ...I think you don't actually need this cast, and probably not even this level?
    RenderWidgetHostViewBase is a /subclass/ of RenderWidgetHostView.

    Also is Root vs. TopLevel supposed to be meaningful?

    Cammie Smith Barnes

    Done

    Open in Gerrit

    Related details

    Attention set is empty
    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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
    Gerrit-Change-Number: 7952023
    Gerrit-PatchSet: 19
    Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
    Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
    Gerrit-CC: Zhe Su <su...@chromium.org>
    Gerrit-CC: gwsq
    Gerrit-Comment-Date: Tue, 23 Jun 2026 18:26:03 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Maks Orlovich <morl...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Cammie Smith Barnes (Gerrit)

    unread,
    Jun 24, 2026, 4:59:00 PMJun 24
    to Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Maks Orlovich, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
    Attention needed from Cammie Smith Barnes and Maks Orlovich

    Cammie Smith Barnes voted and added 3 comments

    Votes added by Cammie Smith Barnes

    Commit-Queue+1

    3 comments

    Patchset-level comments
    File-level comment, Patchset 20 (Latest):
    Cammie Smith Barnes . unresolved

    I see that PS 20 has some test failures that I will now fix...

    File content/browser/web_contents/web_contents_impl.cc
    Line 5322, Patchset 16 (Parent): delegate_->RequestPointerLock(this, user_gesture, last_unlocked_by_target);
    Maks Orlovich . unresolved

    This didn't actually change delegate_ across the loop? And I think we would want the delegate for the Browser object, and not the webui_browser here?

    Cammie Smith Barnes

    Does it work if we delegate to the Browser from WebUiBrowserWebContentsDelegate itself? See PS 20 for how I interpreted this. Also I don't quite follow why the delegate_ needs to change across the loop since it doesn't in the existing code...

    In any case, I just manually tested pointer lock here with this CL patched in and it's working: https://mdn.github.io/dom-examples/pointer-lock/

    Line 9697, Patchset 16:void WebContentsImpl::SetPointerLockWidgetInParentChain(
    Maks Orlovich . unresolved

    So high level: does a webpage grabbing a lock limit the top-level in webui_browser it won't in a views browser?

    Cammie Smith Barnes

    I am not sure what you mean by "limit"? I suppose it would if our top-chrome UI added a pointer lock button, but since that isn't needed/won't happen, I am not sure it makes a difference.

    I manually tested and the behavior for this CL (as of PS 20) seems the same as the behavior in stable Chrome/views browser.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Cammie Smith Barnes
    • Maks Orlovich
    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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
    Gerrit-Change-Number: 7952023
    Gerrit-PatchSet: 20
    Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
    Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
    Gerrit-CC: Zhe Su <su...@chromium.org>
    Gerrit-CC: gwsq
    Gerrit-Attention: Maks Orlovich <morl...@chromium.org>
    Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Comment-Date: Wed, 24 Jun 2026 20:58:45 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Maks Orlovich <morl...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Maks Orlovich (Gerrit)

    unread,
    Jun 25, 2026, 9:20:21 AM (13 days ago) Jun 25
    to Cammie Smith Barnes, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
    Attention needed from Cammie Smith Barnes

    Maks Orlovich added 2 comments

    File content/browser/web_contents/web_contents_impl.cc
    Line 5322, Patchset 16 (Parent): delegate_->RequestPointerLock(this, user_gesture, last_unlocked_by_target);
    Maks Orlovich . unresolved

    This didn't actually change delegate_ across the loop? And I think we would want the delegate for the Browser object, and not the webui_browser here?

    Cammie Smith Barnes

    Does it work if we delegate to the Browser from WebUiBrowserWebContentsDelegate itself? See PS 20 for how I interpreted this. Also I don't quite follow why the delegate_ needs to change across the loop since it doesn't in the existing code...

    In any case, I just manually tested pointer lock here with this CL patched in and it's working: https://mdn.github.io/dom-examples/pointer-lock/

    Maks Orlovich

    I think what I meant is that the original implementation just asks delegate_, even if it's nested in an outer WebContents while you pull it from the root via GetRootWebContentsDelegate, which surprised me.

    Line 9697, Patchset 16:void WebContentsImpl::SetPointerLockWidgetInParentChain(
    Maks Orlovich . unresolved

    So high level: does a webpage grabbing a lock limit the top-level in webui_browser it won't in a views browser?

    Cammie Smith Barnes

    I am not sure what you mean by "limit"? I suppose it would if our top-chrome UI added a pointer lock button, but since that isn't needed/won't happen, I am not sure it makes a difference.

    I manually tested and the behavior for this CL (as of PS 20) seems the same as the behavior in stable Chrome/views browser.

    Maks Orlovich

    If a webpage grabs a pointer lock, and you're in webui_browser (not a Views browser), does it mess with interacting with, say, the close tab button?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Cammie Smith Barnes
    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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
    Gerrit-Change-Number: 7952023
    Gerrit-PatchSet: 22
    Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
    Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
    Gerrit-CC: Zhe Su <su...@chromium.org>
    Gerrit-CC: gwsq
    Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Comment-Date: Thu, 25 Jun 2026 13:20:10 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Maks Orlovich <morl...@chromium.org>
    Comment-In-Reply-To: Cammie Smith Barnes <cam...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Cammie Smith Barnes (Gerrit)

    unread,
    Jun 25, 2026, 1:39:51 PM (13 days ago) Jun 25
    to Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Maks Orlovich, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
    Attention needed from Maks Orlovich

    Cammie Smith Barnes added 4 comments

    Patchset-level comments
    Cammie Smith Barnes . unresolved

    I see that PS 20 has some test failures that I will now fix...

    Cammie Smith Barnes

    Still working on the flaky tests...

    File content/browser/web_contents/web_contents_impl.cc
    Line 5322, Patchset 16 (Parent): delegate_->RequestPointerLock(this, user_gesture, last_unlocked_by_target);
    Maks Orlovich . unresolved

    This didn't actually change delegate_ across the loop? And I think we would want the delegate for the Browser object, and not the webui_browser here?

    Cammie Smith Barnes

    Does it work if we delegate to the Browser from WebUiBrowserWebContentsDelegate itself? See PS 20 for how I interpreted this. Also I don't quite follow why the delegate_ needs to change across the loop since it doesn't in the existing code...

    In any case, I just manually tested pointer lock here with this CL patched in and it's working: https://mdn.github.io/dom-examples/pointer-lock/

    Maks Orlovich

    I think what I meant is that the original implementation just asks delegate_, even if it's nested in an outer WebContents while you pull it from the root via GetRootWebContentsDelegate, which surprised me.

    Cammie Smith Barnes

    After doing some research with Gemini:

      Hi Maks,

    Thanks for the clarification. You're right that the original implementation just used delegate_ . However, that was a limitation that made pointer lock unsupported for nested WebContents (other than GuestView).

    There are three ways to nest WebContents where the content layer has awareness of the hierarchy, and our patch (as of PS 23) handles each of them (as well as the non-nested case) correctly:

    1. Classic GuestView: The guest WebContents has a specialized delegate ( WebViewGuest ) that implements RequestPointerLock to perform extension-specific permission checks. Bypassing it would be incorrect.
    • Our approach: GetBrowserPluginGuest() is non-null, so we use delegate_.get() , preserving the original behavior and custom permission checks.
    2. GuestContents: Uses standard nesting ( GetOuterWebContents() ), but the guest WebContents does not have a delegate set.
    • Our approach: GetBrowserPluginGuest() is null, so we use GetRootWebContentsDelegate() . This traverses up the nesting chain via GetOuterWebContents() to the root delegate (the Browser window via WebUIBrowserWebContentsDelegate ). In the original code, this would have failed (rejected with kWrongDocument ) because delegate_ was null.
    3. SurfaceEmbed: Uses SurfaceEmbedConnector , and also does not have a delegate set on the inner WebContents .
    • Our approach: GetBrowserPluginGuest() is null, so we use GetRootWebContentsDelegate() . This traverses up via GetSurfaceEmbedConnector() to find the root delegate.
    4. Non-nested WebContents:
    • Our approach: GetRootWebContentsDelegate() simply returns delegate_ (since there are no outer WebContents or connectors), matching the original behavior.


    So, using GetRootWebContentsDelegate() is necessary to support pointer lock for embedded WebContents that don't have their own specialized delegates, while the special case for BrowserPluginGuest ensures we don't break GuestView.
    Line 5331, Patchset 16 (Parent): if (!delegate_ || (pointer_lock_widget_ != render_widget_host)) {
    Maks Orlovich . unresolved

    And this didn't even bother having a loop.

    Cammie Smith Barnes

    Acknowledged, but we're not using a loop either...

    Line 9697, Patchset 16:void WebContentsImpl::SetPointerLockWidgetInParentChain(
    Maks Orlovich . unresolved

    So high level: does a webpage grabbing a lock limit the top-level in webui_browser it won't in a views browser?

    Cammie Smith Barnes

    I am not sure what you mean by "limit"? I suppose it would if our top-chrome UI added a pointer lock button, but since that isn't needed/won't happen, I am not sure it makes a difference.

    I manually tested and the behavior for this CL (as of PS 20) seems the same as the behavior in stable Chrome/views browser.

    Maks Orlovich

    If a webpage grabs a pointer lock, and you're in webui_browser (not a Views browser), does it mess with interacting with, say, the close tab button?

    Cammie Smith Barnes

    Yes, it stops one from being able to close tabs unless ESC is pressed to quit the pointer lock (or unless a keyboard shortcut is used to close the tab). But that is also true in the Views browser.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Maks Orlovich
    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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
    Gerrit-Change-Number: 7952023
    Gerrit-PatchSet: 23
    Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
    Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
    Gerrit-CC: Zhe Su <su...@chromium.org>
    Gerrit-CC: gwsq
    Gerrit-Attention: Maks Orlovich <morl...@chromium.org>
    Gerrit-Comment-Date: Thu, 25 Jun 2026 17:39:43 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Maks Orlovich (Gerrit)

    unread,
    Jun 25, 2026, 1:57:19 PM (13 days ago) Jun 25
    to Cammie Smith Barnes, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
    Attention needed from Cammie Smith Barnes

    Maks Orlovich added 2 comments

    File content/browser/web_contents/web_contents_impl.cc
    Line 5322, Patchset 16 (Parent): delegate_->RequestPointerLock(this, user_gesture, last_unlocked_by_target);
    Maks Orlovich . unresolved

    This didn't actually change delegate_ across the loop? And I think we would want the delegate for the Browser object, and not the webui_browser here?

    Cammie Smith Barnes

    Does it work if we delegate to the Browser from WebUiBrowserWebContentsDelegate itself? See PS 20 for how I interpreted this. Also I don't quite follow why the delegate_ needs to change across the loop since it doesn't in the existing code...

    In any case, I just manually tested pointer lock here with this CL patched in and it's working: https://mdn.github.io/dom-examples/pointer-lock/

    Maks Orlovich

    I think what I meant is that the original implementation just asks delegate_, even if it's nested in an outer WebContents while you pull it from the root via GetRootWebContentsDelegate, which surprised me.

    Cammie Smith Barnes

    After doing some research with Gemini:

      Hi Maks,

    Thanks for the clarification. You're right that the original implementation just used delegate_ . However, that was a limitation that made pointer lock unsupported for nested WebContents (other than GuestView).

    There are three ways to nest WebContents where the content layer has awareness of the hierarchy, and our patch (as of PS 23) handles each of them (as well as the non-nested case) correctly:

    1. Classic GuestView: The guest WebContents has a specialized delegate ( WebViewGuest ) that implements RequestPointerLock to perform extension-specific permission checks. Bypassing it would be incorrect.
    • Our approach: GetBrowserPluginGuest() is non-null, so we use delegate_.get() , preserving the original behavior and custom permission checks.
    2. GuestContents: Uses standard nesting ( GetOuterWebContents() ), but the guest WebContents does not have a delegate set.
    • Our approach: GetBrowserPluginGuest() is null, so we use GetRootWebContentsDelegate() . This traverses up the nesting chain via GetOuterWebContents() to the root delegate (the Browser window via WebUIBrowserWebContentsDelegate ). In the original code, this would have failed (rejected with kWrongDocument ) because delegate_ was null.
    3. SurfaceEmbed: Uses SurfaceEmbedConnector , and also does not have a delegate set on the inner WebContents .
    • Our approach: GetBrowserPluginGuest() is null, so we use GetRootWebContentsDelegate() . This traverses up via GetSurfaceEmbedConnector() to find the root delegate.
    4. Non-nested WebContents:
    • Our approach: GetRootWebContentsDelegate() simply returns delegate_ (since there are no outer WebContents or connectors), matching the original behavior.


    So, using GetRootWebContentsDelegate() is necessary to support pointer lock for embedded WebContents that don't have their own specialized delegates, while the special case for BrowserPluginGuest ensures we don't break GuestView.
    Maks Orlovich

    Interesting about GuestView, but what if the guest view is some levels of nested embedding away?

    I also don't think (2)/(3) is true. Stuff won't work very well w/o WebContentsDelegate, and I would expect the guest webcontents in webui_browser to have the WebContentsDelegate to be set to Browser, 'cause that's basically what happens when tabs are created.

    Line 9697, Patchset 16:void WebContentsImpl::SetPointerLockWidgetInParentChain(
    Maks Orlovich . resolved

    So high level: does a webpage grabbing a lock limit the top-level in webui_browser it won't in a views browser?

    Cammie Smith Barnes

    I am not sure what you mean by "limit"? I suppose it would if our top-chrome UI added a pointer lock button, but since that isn't needed/won't happen, I am not sure it makes a difference.

    I manually tested and the behavior for this CL (as of PS 20) seems the same as the behavior in stable Chrome/views browser.

    Maks Orlovich

    If a webpage grabs a pointer lock, and you're in webui_browser (not a Views browser), does it mess with interacting with, say, the close tab button?

    Cammie Smith Barnes

    Yes, it stops one from being able to close tabs unless ESC is pressed to quit the pointer lock (or unless a keyboard shortcut is used to close the tab). But that is also true in the Views browser.

    Maks Orlovich

    I see. I didn't know about the Esc thing.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Cammie Smith Barnes
    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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
    Gerrit-Change-Number: 7952023
    Gerrit-PatchSet: 23
    Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
    Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
    Gerrit-CC: Zhe Su <su...@chromium.org>
    Gerrit-CC: gwsq
    Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Comment-Date: Thu, 25 Jun 2026 17:57:11 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Cammie Smith Barnes (Gerrit)

    unread,
    Jun 25, 2026, 2:51:25 PM (13 days ago) Jun 25
    to Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Maks Orlovich, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
    Attention needed from Maks Orlovich

    Cammie Smith Barnes added 1 comment

    File content/browser/web_contents/web_contents_impl.cc
    Cammie Smith Barnes

    Changed to using GetFirstWebContentsDelegate(). Does this look better?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Maks Orlovich
    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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
    Gerrit-Change-Number: 7952023
    Gerrit-PatchSet: 24
    Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
    Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
    Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
    Gerrit-CC: Zhe Su <su...@chromium.org>
    Gerrit-CC: gwsq
    Gerrit-Attention: Maks Orlovich <morl...@chromium.org>
    Gerrit-Comment-Date: Thu, 25 Jun 2026 18:51:17 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Maks Orlovich (Gerrit)

    unread,
    Jun 25, 2026, 3:28:11 PM (13 days ago) Jun 25
    to Cammie Smith Barnes, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
    Attention needed from Cammie Smith Barnes

    Maks Orlovich voted and added 5 comments

    Votes added by Maks Orlovich

    Code-Review+1

    5 comments

    File chrome/browser/ui/webui_browser/webui_browser_browsertest.cc
    Line 368, Patchset 24: LOG(INFO) << "Pointer lock result: " << result.ExtractString();
    Maks Orlovich . unresolved

    EXPECT_EQ will print it anyway if it fails?

    Line 375, Patchset 24: if (result.ExtractString() == "success") {
    Maks Orlovich . unresolved

    ASSERT_EQ instead of EXPECT_EQ above won't continue if it failed...

    File content/browser/web_contents/web_contents_impl.cc
    Line 2085, Patchset 24: return GetRenderManager()->GetRenderWidgetHostView();
    Maks Orlovich . unresolved

    Hmm, changing this may be a bit against the security goal of trying to make every use of Surface Embed explicit for purpose (not sure we're still sticking to that.)

    Maks Orlovich

    Yeah, that makes sense (though I am not sure why null delegates would be more relevant here than before)

    Line 5331, Patchset 16 (Parent): if (!delegate_ || (pointer_lock_widget_ != render_widget_host)) {
    Maks Orlovich . resolved

    And this didn't even bother having a loop.

    Cammie Smith Barnes

    Acknowledged, but we're not using a loop either...

    Maks Orlovich

    Acknowledged

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Cammie Smith Barnes
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
      Gerrit-Change-Number: 7952023
      Gerrit-PatchSet: 24
      Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
      Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
      Gerrit-CC: Zhe Su <su...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Comment-Date: Thu, 25 Jun 2026 19:28:03 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Cammie Smith Barnes (Gerrit)

      unread,
      Jun 25, 2026, 3:36:37 PM (13 days ago) Jun 25
      to Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
      Attention needed from Maks Orlovich

      Cammie Smith Barnes added 1 comment

      File content/browser/web_contents/web_contents_impl.cc
      Line 2085, Patchset 24: return GetRenderManager()->GetRenderWidgetHostView();
      Maks Orlovich . unresolved

      Hmm, changing this may be a bit against the security goal of trying to make every use of Surface Embed explicit for purpose (not sure we're still sticking to that.)

      Cammie Smith Barnes

      What if I altered WebContentsImpl::HasPointerLock() and WebContentsImpl::GetPointerLockWidget() to use new counterparts in SurfaceEmbedConnectorImpl with the same method names in the case where there is a connector? and then leave this method unchanged? Would that fix this issue by making SurfaceEmbed use explicit enough?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Maks Orlovich
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
      Gerrit-Change-Number: 7952023
      Gerrit-PatchSet: 25
      Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
      Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
      Gerrit-CC: Zhe Su <su...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Maks Orlovich <morl...@chromium.org>
      Gerrit-Comment-Date: Thu, 25 Jun 2026 19:36:26 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Maks Orlovich (Gerrit)

      unread,
      Jun 25, 2026, 3:49:06 PM (13 days ago) Jun 25
      to Cammie Smith Barnes, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
      Attention needed from Cammie Smith Barnes

      Maks Orlovich voted and added 1 comment

      Votes added by Maks Orlovich

      Code-Review+1

      1 comment

      File content/browser/web_contents/web_contents_impl.cc
      Line 2085, Patchset 24: return GetRenderManager()->GetRenderWidgetHostView();
      Maks Orlovich . unresolved

      Hmm, changing this may be a bit against the security goal of trying to make every use of Surface Embed explicit for purpose (not sure we're still sticking to that.)

      Cammie Smith Barnes

      What if I altered WebContentsImpl::HasPointerLock() and WebContentsImpl::GetPointerLockWidget() to use new counterparts in SurfaceEmbedConnectorImpl with the same method names in the case where there is a connector? and then leave this method unchanged? Would that fix this issue by making SurfaceEmbed use explicit enough?

      Maks Orlovich

      It would.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Cammie Smith Barnes
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
      Gerrit-Change-Number: 7952023
      Gerrit-PatchSet: 26
      Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
      Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
      Gerrit-CC: Zhe Su <su...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Comment-Date: Thu, 25 Jun 2026 19:48:58 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Cammie Smith Barnes (Gerrit)

      unread,
      Jun 25, 2026, 4:42:19 PM (13 days ago) Jun 25
      to Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

      Cammie Smith Barnes added 4 comments

      File chrome/browser/ui/webui_browser/webui_browser_browsertest.cc
      Line 368, Patchset 24: LOG(INFO) << "Pointer lock result: " << result.ExtractString();
      Maks Orlovich . resolved

      EXPECT_EQ will print it anyway if it fails?

      Cammie Smith Barnes

      Done

      Line 375, Patchset 24: if (result.ExtractString() == "success") {
      Maks Orlovich . resolved

      ASSERT_EQ instead of EXPECT_EQ above won't continue if it failed...

      Cammie Smith Barnes

      Done

      File content/browser/web_contents/web_contents_impl.cc
      Line 2085, Patchset 24: return GetRenderManager()->GetRenderWidgetHostView();
      Maks Orlovich . resolved

      Hmm, changing this may be a bit against the security goal of trying to make every use of Surface Embed explicit for purpose (not sure we're still sticking to that.)

      Cammie Smith Barnes

      What if I altered WebContentsImpl::HasPointerLock() and WebContentsImpl::GetPointerLockWidget() to use new counterparts in SurfaceEmbedConnectorImpl with the same method names in the case where there is a connector? and then leave this method unchanged? Would that fix this issue by making SurfaceEmbed use explicit enough?

      Maks Orlovich

      It would.

      Cammie Smith Barnes

      Done

      Line 5322, Patchset 16 (Parent): delegate_->RequestPointerLock(this, user_gesture, last_unlocked_by_target);
      Maks Orlovich . resolved
      Cammie Smith Barnes

      Acknowledged, marking as resolved. Is that OK?

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
      Gerrit-Change-Number: 7952023
      Gerrit-PatchSet: 29
      Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
      Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
      Gerrit-CC: Zhe Su <su...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Comment-Date: Thu, 25 Jun 2026 20:42:12 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Maks Orlovich (Gerrit)

      unread,
      Jun 26, 2026, 10:15:00 AM (12 days ago) Jun 26
      to Cammie Smith Barnes, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
      Attention needed from Cammie Smith Barnes

      Maks Orlovich voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Cammie Smith Barnes
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
      Gerrit-Change-Number: 7952023
      Gerrit-PatchSet: 30
      Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
      Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
      Gerrit-CC: Zhe Su <su...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
      Gerrit-Comment-Date: Fri, 26 Jun 2026 14:14:50 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Cammie Smith Barnes (Gerrit)

      unread,
      Jun 26, 2026, 12:47:24 PM (12 days ago) Jun 26
      to Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
      Attention needed from Cammie Smith Barnes and Nasko Oskov

      Cammie Smith Barnes added 2 comments

      Patchset-level comments
      File-level comment, Patchset 20:
      Cammie Smith Barnes . resolved

      I see that PS 20 has some test failures that I will now fix...

      Cammie Smith Barnes

      Still working on the flaky tests...

      Cammie Smith Barnes

      Done

      File-level comment, Patchset 30 (Latest):
      Cammie Smith Barnes . resolved

      nasko@, PTAL, thanks!

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Cammie Smith Barnes
      • Nasko Oskov
      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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
        Gerrit-Change-Number: 7952023
        Gerrit-PatchSet: 30
        Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
        Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
        Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
        Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
        Gerrit-Attention: Nasko Oskov <na...@chromium.org>
        Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
        Gerrit-Comment-Date: Fri, 26 Jun 2026 16:47:13 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Cammie Smith Barnes <cam...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Nasko Oskov (Gerrit)

        unread,
        Jun 26, 2026, 2:52:57 PM (12 days ago) Jun 26
        to Cammie Smith Barnes, Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
        Attention needed from Cammie Smith Barnes

        Nasko Oskov added 5 comments

        Commit Message
        Line 27, Patchset 30 (Latest): • HasFocus() : We implement it to check the actual focus state of the root view. If the root view has focus, the child view is considered focused, allowing CanBePointerLocked() to return true.
        Nasko Oskov . unresolved

        nit: break long lines

        File content/browser/web_contents/web_contents_impl.cc
        Line 1447, Patchset 30 (Latest): if (pointer_lock_widget_) {
        Nasko Oskov . unresolved

        Do we need to do this cleanup along the WebContents embedding chain now that we support setting pointer lock state in the hierarchy?

        Line 1458, Patchset 30 (Latest): current = current->GetOuterWebContents()) {
        Nasko Oskov . unresolved

        This loop doesn't account for surface embeds, does it? Should it be doing `SetPointerLockWidgetInParentChain(nullptr)`?

        Line 2078, Patchset 30 (Latest): if (WebContentsImpl* outer = GetOuterWebContents()) {
        Nasko Oskov . unresolved

        In other methods, surface embeds are explicitly checked. Why is that not the case here? If it is intentional, maybe worth a comment to explain to people reading the code.

        Line 9690, Patchset 30 (Latest): if (delegate_) {
        Nasko Oskov . unresolved

        Is it actually possible to have WebContents without `delegate_` outside of tests? If so, I think it is useful to have a comment here explaining what are those cases.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Cammie Smith Barnes
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
          Gerrit-Change-Number: 7952023
          Gerrit-PatchSet: 30
          Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
          Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
          Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
          Gerrit-CC: Zhe Su <su...@chromium.org>
          Gerrit-CC: gwsq
          Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Comment-Date: Fri, 26 Jun 2026 18:52:38 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Cammie Smith Barnes (Gerrit)

          unread,
          Jul 6, 2026, 11:21:53 AM (2 days ago) Jul 6
          to Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

          Cammie Smith Barnes added 1 comment

          Commit Message
          Line 27, Patchset 30: • HasFocus() : We implement it to check the actual focus state of the root view. If the root view has focus, the child view is considered focused, allowing CanBePointerLocked() to return true.
          Nasko Oskov . resolved

          nit: break long lines

          Cammie Smith Barnes

          Done

          Open in Gerrit

          Related details

          Attention set is empty
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
          Gerrit-Change-Number: 7952023
          Gerrit-PatchSet: 31
          Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
          Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
          Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
          Gerrit-CC: Zhe Su <su...@chromium.org>
          Gerrit-CC: gwsq
          Gerrit-Comment-Date: Mon, 06 Jul 2026 15:21:43 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Nasko Oskov <na...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Cammie Smith Barnes (Gerrit)

          unread,
          Jul 6, 2026, 12:42:48 PM (2 days ago) Jul 6
          to Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

          Cammie Smith Barnes added 1 comment

          File content/browser/web_contents/web_contents_impl.cc
          Line 2078, Patchset 30: if (WebContentsImpl* outer = GetOuterWebContents()) {
          Nasko Oskov . resolved

          In other methods, surface embeds are explicitly checked. Why is that not the case here? If it is intentional, maybe worth a comment to explain to people reading the code.

          Cammie Smith Barnes

          Done

          Open in Gerrit

          Related details

          Attention set is empty
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
          Gerrit-Change-Number: 7952023
          Gerrit-PatchSet: 32
          Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
          Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
          Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
          Gerrit-CC: Zhe Su <su...@chromium.org>
          Gerrit-CC: gwsq
          Gerrit-Comment-Date: Mon, 06 Jul 2026 16:42:36 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Cammie Smith Barnes (Gerrit)

          unread,
          Jul 6, 2026, 1:28:17 PM (2 days ago) Jul 6
          to Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

          Cammie Smith Barnes added 1 comment

          File content/browser/web_contents/web_contents_impl.cc
          Line 1458, Patchset 30: current = current->GetOuterWebContents()) {
          Nasko Oskov . resolved

          This loop doesn't account for surface embeds, does it? Should it be doing `SetPointerLockWidgetInParentChain(nullptr)`?

          Cammie Smith Barnes

          Done

          Open in Gerrit

          Related details

          Attention set is empty
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
          Gerrit-Change-Number: 7952023
          Gerrit-PatchSet: 33
          Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
          Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
          Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
          Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
          Gerrit-CC: Zhe Su <su...@chromium.org>
          Gerrit-CC: gwsq
          Gerrit-Comment-Date: Mon, 06 Jul 2026 17:28:08 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Cammie Smith Barnes (Gerrit)

          unread,
          Jul 6, 2026, 2:08:44 PM (2 days ago) Jul 6
          to Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

          Cammie Smith Barnes added 1 comment

          File content/browser/web_contents/web_contents_impl.cc
          Line 1447, Patchset 30: if (pointer_lock_widget_) {
          Nasko Oskov . resolved

          Do we need to do this cleanup along the WebContents embedding chain now that we support setting pointer lock state in the hierarchy?

          Cammie Smith Barnes

          Done

          Gerrit-Comment-Date: Mon, 06 Jul 2026 18:08:35 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Cammie Smith Barnes (Gerrit)

          unread,
          Jul 6, 2026, 2:14:51 PM (2 days ago) Jul 6
          to Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
          Attention needed from Nasko Oskov

          Cammie Smith Barnes added 1 comment

          File content/browser/web_contents/web_contents_impl.cc
          Line 9690, Patchset 30: if (delegate_) {
          Nasko Oskov . resolved

          Is it actually possible to have WebContents without `delegate_` outside of tests? If so, I think it is useful to have a comment here explaining what are those cases.

          Cammie Smith Barnes
          Yes, it is indeed possible to have a  WebContents  without a  delegate_  outside of tests. This occurs primarily during transition phases in the lifecycle of a  WebContents :

          1. Initialization: Right after a WebContents is created (e.g., via WebContents::Create ), it initially has no delegate. The creator (like Browser or TabAndroid ) typically sets itself as the delegate
          shortly after.
          2. Tear down/Destruction: In web_contents_impl.cc, SetDelegate(nullptr) is called to detach the delegate before the WebContents is fully destroyed.
          3. Ownership Transfers: During certain navigation flows, like prerendering in a new tab (prerender_new_tab_handle.cc), the WebContents delegate is set to nullptr before being returned to the caller,
          which will then
          attach it to a new delegate (e.g., a browser window).
          4. Pending Windows: When a new window is created with the opener not suppressed, the newly created WebContents is stored in pending_contents_ and may not have a delegate set until it is actually shown
          or attached.
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Nasko Oskov
          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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
            Gerrit-Change-Number: 7952023
            Gerrit-PatchSet: 34
            Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
            Gerrit-CC: Zhe Su <su...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Attention: Nasko Oskov <na...@chromium.org>
            Gerrit-Comment-Date: Mon, 06 Jul 2026 18:14:43 +0000
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Nasko Oskov (Gerrit)

            unread,
            Jul 7, 2026, 9:08:56 AM (yesterday) Jul 7
            to Cammie Smith Barnes, Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
            Attention needed from Cammie Smith Barnes

            Nasko Oskov voted and added 1 comment

            Votes added by Nasko Oskov

            Code-Review+1

            1 comment

            Patchset-level comments
            Open in Gerrit

            Related details

            Attention is currently required from:
            • Cammie Smith Barnes
            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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
            Gerrit-Change-Number: 7952023
            Gerrit-PatchSet: 34
            Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
            Gerrit-CC: Zhe Su <su...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Comment-Date: Tue, 07 Jul 2026 13:08:38 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Cammie Smith Barnes (Gerrit)

            unread,
            Jul 7, 2026, 10:30:35 AM (yesterday) Jul 7
            to Fred Shih, Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
            Attention needed from Fred Shih

            Cammie Smith Barnes added 1 comment

            Patchset-level comments
            Cammie Smith Barnes . resolved

            ffred@, PTAL at webui_browser/, thanks!

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Fred Shih
            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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
            Gerrit-Change-Number: 7952023
            Gerrit-PatchSet: 34
            Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Fred Shih <ff...@chromium.org>
            Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
            Gerrit-CC: Zhe Su <su...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Attention: Fred Shih <ff...@chromium.org>
            Gerrit-Comment-Date: Tue, 07 Jul 2026 14:30:23 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Fred Shih (Gerrit)

            unread,
            Jul 7, 2026, 4:12:22 PM (yesterday) Jul 7
            to Cammie Smith Barnes, Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org
            Attention needed from Cammie Smith Barnes

            Fred Shih voted Code-Review+1

            Code-Review+1
            Open in Gerrit

            Related details

            Attention is currently required from:
            • Cammie Smith Barnes
            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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
            Gerrit-Change-Number: 7952023
            Gerrit-PatchSet: 34
            Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Fred Shih <ff...@chromium.org>
            Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
            Gerrit-CC: Zhe Su <su...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Attention: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Comment-Date: Tue, 07 Jul 2026 20:12:08 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Cammie Smith Barnes (Gerrit)

            unread,
            Jul 7, 2026, 4:39:52 PM (yesterday) Jul 7
            to Fred Shih, Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

            Cammie Smith Barnes 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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
            Gerrit-Change-Number: 7952023
            Gerrit-PatchSet: 34
            Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Fred Shih <ff...@chromium.org>
            Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
            Gerrit-CC: Zhe Su <su...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Comment-Date: Tue, 07 Jul 2026 20:39:41 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Cammie Smith Barnes (Gerrit)

            unread,
            4:10 PM (3 hours ago) 4:10 PM
            to Kenneth Rohde Christiansen, Fred Shih, Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

            Cammie Smith Barnes added 8 comments

            File chrome/browser/ui/webui_browser/BUILD.gn
            File chrome/browser/ui/webui_browser/webui_browser_browsertest.cc
            Line 55, Patchset 37 (Latest):#include "ui/views/test/widget_activation_waiter.h"
            Cammie Smith Barnes . unresolved

            need to remove

            File content/browser/renderer_host/cross_process_frame_connector.cc
            Line 8, Patchset 37 (Latest):#include "base/logging.h"
            Cammie Smith Barnes . unresolved

            need to remove

            File content/browser/renderer_host/render_frame_proxy_host.cc
            Line 16, Patchset 37 (Latest):#include "base/logging.h"
            Cammie Smith Barnes . unresolved

            need to remove

            File content/browser/renderer_host/render_widget_host_impl.cc
            Line 28, Patchset 37 (Latest):#include "base/logging.h"
            Cammie Smith Barnes . unresolved

            need to remove

            File content/browser/renderer_host/render_widget_host_view_event_handler.cc
            Line 8, Patchset 37 (Latest):#include "base/logging.h"
            Cammie Smith Barnes . unresolved

            need to remove

            File third_party/blink/renderer/core/frame/frame_view.cc
            Line 7, Patchset 37 (Latest):#include "base/logging.h"
            Cammie Smith Barnes . unresolved

            need to remove

            File third_party/blink/renderer/core/frame/remote_frame_view.cc
            Line 10, Patchset 37 (Latest):#include "base/logging.h"
            Cammie Smith Barnes . unresolved

            need to remove

            Open in Gerrit

            Related details

            Attention set is empty
            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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
            Gerrit-Change-Number: 7952023
            Gerrit-PatchSet: 37
            Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Fred Shih <ff...@chromium.org>
            Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-CC: Kenneth Rohde Christiansen <kenneth.ch...@gmail.com>
            Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
            Gerrit-CC: Zhe Su <su...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Comment-Date: Wed, 08 Jul 2026 20:10:20 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Cammie Smith Barnes (Gerrit)

            unread,
            5:56 PM (1 hour ago) 5:56 PM
            to Kenneth Rohde Christiansen, Fred Shih, Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

            Cammie Smith Barnes added 9 comments

            File chrome/browser/ui/webui_browser/BUILD.gn
            File chrome/browser/ui/webui_browser/webui_browser_browsertest.cc
            Line 55, Patchset 37:#include "ui/views/test/widget_activation_waiter.h"
            Cammie Smith Barnes . resolved

            need to remove

            Cammie Smith Barnes

            Done

            File content/browser/renderer_host/cross_process_frame_connector.cc
            Line 8, Patchset 37:#include "base/logging.h"
            Cammie Smith Barnes . resolved

            need to remove

            Cammie Smith Barnes

            Done

            Line 452, Patchset 40 (Latest):CrossProcessFrameConnector::GetRootRenderWidgetHostView() const {
            Cammie Smith Barnes . unresolved

            the const should not have been introduced here in this CL unless it was absolutely necessary. is it necessary? or is it a drive-by fix independent of the CL. if the latter, please revert it.

            File content/browser/renderer_host/render_frame_proxy_host.cc
            Line 16, Patchset 37:#include "base/logging.h"
            Cammie Smith Barnes . resolved

            need to remove

            Cammie Smith Barnes

            Done

            File content/browser/renderer_host/render_widget_host_impl.cc
            Line 28, Patchset 37:#include "base/logging.h"
            Cammie Smith Barnes . resolved

            need to remove

            Cammie Smith Barnes

            Done

            File content/browser/renderer_host/render_widget_host_view_event_handler.cc
            Line 8, Patchset 37:#include "base/logging.h"
            Cammie Smith Barnes . resolved

            need to remove

            Cammie Smith Barnes

            Done

            File third_party/blink/renderer/core/frame/frame_view.cc
            Line 7, Patchset 37:#include "base/logging.h"
            Cammie Smith Barnes . resolved

            need to remove

            Cammie Smith Barnes

            Done

            File third_party/blink/renderer/core/frame/remote_frame_view.cc
            Line 10, Patchset 37:#include "base/logging.h"
            Cammie Smith Barnes . resolved

            need to remove

            Cammie Smith Barnes

            Done

            Open in Gerrit

            Related details

            Attention set is empty
            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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
            Gerrit-Change-Number: 7952023
            Gerrit-PatchSet: 40
            Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
            Gerrit-Reviewer: Fred Shih <ff...@chromium.org>
            Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-CC: Kenneth Rohde Christiansen <kenneth.ch...@gmail.com>
            Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
            Gerrit-CC: Zhe Su <su...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Comment-Date: Wed, 08 Jul 2026 21:55:54 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Cammie Smith Barnes (Gerrit)

            unread,
            6:08 PM (1 hour ago) 6:08 PM
            to Kenneth Rohde Christiansen, Fred Shih, Maks Orlovich, Zhe Su, android-bu...@system.gserviceaccount.com, Surface Embed Reviews, Chromium LUCI CQ, chromium...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, keithle...@chromium.org, yhanad...@chromium.org, nona+...@chromium.org, tranbaod...@chromium.org, shuche...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, navigation...@chromium.org

            Cammie Smith Barnes voted and added 1 comment

            Votes added by Cammie Smith Barnes

            Commit-Queue+0

            1 comment

            File content/browser/renderer_host/cross_process_frame_connector.cc
            Line 452, Patchset 40:CrossProcessFrameConnector::GetRootRenderWidgetHostView() const {
            Cammie Smith Barnes . resolved

            the const should not have been introduced here in this CL unless it was absolutely necessary. is it necessary? or is it a drive-by fix independent of the CL. if the latter, please revert it.

            Cammie Smith Barnes

            Done

            Open in Gerrit

            Related details

            Attention set is empty
            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: Ia15abda3f093c1f1b86afd33bc3fc2046594d5de
              Gerrit-Change-Number: 7952023
              Gerrit-PatchSet: 41
              Gerrit-Owner: Cammie Smith Barnes <cam...@chromium.org>
              Gerrit-Reviewer: Cammie Smith Barnes <cam...@chromium.org>
              Gerrit-Reviewer: Fred Shih <ff...@chromium.org>
              Gerrit-Reviewer: Maks Orlovich <morl...@chromium.org>
              Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
              Gerrit-CC: Kenneth Rohde Christiansen <kenneth.ch...@gmail.com>
              Gerrit-CC: Surface Embed Reviews <surface-em...@google.com>
              Gerrit-CC: Zhe Su <su...@chromium.org>
              Gerrit-CC: gwsq
              Gerrit-Comment-Date: Wed, 08 Jul 2026 22:07:49 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy
              Reply all
              Reply to author
              Forward
              0 new messages