Unbounded Element: Include ink overflow in window bounds calculation [chromium/src : main]

0 views
Skip to first unread message

Vladimir Levin (Gerrit)

unread,
Jun 15, 2026, 10:11:57 AM (10 days ago) Jun 15
to Mason Freed, Philip Rogers, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
Attention needed from Mason Freed and Philip Rogers

Vladimir Levin added 1 comment

Patchset-level comments
File-level comment, Patchset 8 (Latest):
Vladimir Levin . resolved

I'm gonna route this one to pdr. I don't know if there's a reliable way to get the ink overflow rect in blink that precisely matches what cc would produce. View transitions does a roundabout way where we use a placeholder rect and then a signal back from cc indicating the precise rect

FWIW I also don't know if we want a precise rect here -- what would be the behavior if we are too small or too large on our calculation?

Open in Gerrit

Related details

Attention is currently required from:
  • Mason Freed
  • Philip Rogers
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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
Gerrit-Change-Number: 7927687
Gerrit-PatchSet: 8
Gerrit-Owner: Mason Freed <mas...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
Gerrit-Attention: Mason Freed <mas...@chromium.org>
Gerrit-Attention: Philip Rogers <p...@chromium.org>
Gerrit-Comment-Date: Mon, 15 Jun 2026 14:11:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Mason Freed (Gerrit)

unread,
Jun 15, 2026, 11:55:53 AM (10 days ago) Jun 15
to Philip Rogers, Vladimir Levin, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
Attention needed from Philip Rogers and Vladimir Levin

Mason Freed added 1 comment

Patchset-level comments
Vladimir Levin . resolved

I'm gonna route this one to pdr. I don't know if there's a reliable way to get the ink overflow rect in blink that precisely matches what cc would produce. View transitions does a roundabout way where we use a placeholder rect and then a signal back from cc indicating the precise rect

FWIW I also don't know if we want a precise rect here -- what would be the behavior if we are too small or too large on our calculation?

Mason Freed

Yeah, if there's a better way to do this, that'd be great! I do think it's "ok" to be too large here, since the background is transparent anyway. (I have a future patch that just expands the unbounded window size to the union of old/new sizes, to speed up window moves. That should prove the point, once it works.)

Open in Gerrit

Related details

Attention is currently required from:
  • Philip Rogers
  • Vladimir Levin
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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
Gerrit-Change-Number: 7927687
Gerrit-PatchSet: 8
Gerrit-Owner: Mason Freed <mas...@chromium.org>
Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
Gerrit-Attention: Philip Rogers <p...@chromium.org>
Gerrit-Attention: Vladimir Levin <vmp...@chromium.org>
Gerrit-Comment-Date: Mon, 15 Jun 2026 15:55:39 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Vladimir Levin <vmp...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Philip Rogers (Gerrit)

unread,
Jun 16, 2026, 7:31:46 PM (9 days ago) Jun 16
to Mason Freed, Vladimir Levin, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
Attention needed from Vladimir Levin

Philip Rogers added 7 comments

File third_party/blink/renderer/core/html/html_element.cc
Line 1599, Patchset 12 (Latest): }
Philip Rogers . unresolved

We shouldn't continue if the lifecycle isn't updated, as everything below is stale and potentially dangerous to touch.

File third_party/blink/renderer/core/layout/layout_object.h
Line 2431, Patchset 12 (Latest): gfx::Rect AbsoluteBoundingBoxRectIncludingInkOverflow(
Philip Rogers . unresolved

No need to have or pass a MapCoordinatesFlag.

Line 2429, Patchset 12 (Latest): // Returns the absolute bounding box rect including ink overflow (such as CSS
Philip Rogers . unresolved

I'm a little reluctant to add this easy-to-use API because of the issues below. Maybe this can be made more unbounded specific?

File third_party/blink/renderer/core/layout/layout_object.cc
Line 1974, Patchset 12 (Latest): LocalToAbsoluteRect(overflow, flags | kTraverseDocumentBoundaries));
Philip Rogers . unresolved
Do we need LocalToAncestorVisualRect? E.g.:
```
<!doctype html>
<div style="filter: blur(10px);">
<div unbounded>
</div>
```
Line 1976, Patchset 12 (Latest): return AbsoluteBoundingBoxRect(flags);
Philip Rogers . unresolved

Why do we use kTraverseDocumentBoundaries above but not here?

File third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc
Line 648, Patchset 12 (Latest): object.AbsoluteBoundingBoxRectIncludingInkOverflow();
Philip Rogers . unresolved

AbsoluteBoundingBoxRectIncludingInkOverflow uses kTraverseDocumentBoundaries so we need to ensure this re-runs when ancestors change, even crossing frame boundaries. This seems hard.

There can also be affected by transform animations and scrolls above and below the unbounded element. This also seems hard.

Do we need a different approach here? For example, maybe we should tag the unbounded element's painting, and then handle all of this on the compositor thread (or later). Or maybe we need something like intersection observer which updates out-of-band.

File third_party/blink/web_tests/fast/unbounded-element/unbounded-element-drop-shadow.html
Line 1, Patchset 9:<!DOCTYPE html>
Philip Rogers . unresolved

Can you use wpt_internal for these tests, since this may be a real API in the future? You can use a reference of two green divs rather than a png file.

Open in Gerrit

Related details

Attention is currently required from:
  • Vladimir Levin
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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
    Gerrit-Change-Number: 7927687
    Gerrit-PatchSet: 12
    Gerrit-Owner: Mason Freed <mas...@chromium.org>
    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
    Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
    Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
    Gerrit-Attention: Vladimir Levin <vmp...@chromium.org>
    Gerrit-Comment-Date: Tue, 16 Jun 2026 23:31:29 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Mason Freed (Gerrit)

    unread,
    Jun 17, 2026, 7:51:21 PM (8 days ago) Jun 17
    to Philip Rogers, Vladimir Levin, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
    Attention needed from Philip Rogers and Vladimir Levin

    Mason Freed added 6 comments

    File third_party/blink/renderer/core/html/html_element.cc
    Line 1599, Patchset 12: }
    Philip Rogers . resolved

    We shouldn't continue if the lifecycle isn't updated, as everything below is stale and potentially dangerous to touch.

    Mason Freed

    Done, good catch.

    File third_party/blink/renderer/core/layout/layout_object.h
    Line 2431, Patchset 12: gfx::Rect AbsoluteBoundingBoxRectIncludingInkOverflow(
    Philip Rogers . resolved

    No need to have or pass a MapCoordinatesFlag.

    Mason Freed

    Done

    Line 2429, Patchset 12: // Returns the absolute bounding box rect including ink overflow (such as CSS
    Philip Rogers . resolved

    I'm a little reluctant to add this easy-to-use API because of the issues below. Maybe this can be made more unbounded specific?

    Mason Freed

    Done - it now has "unbounded" in the name and comment, and DCHECKs that the feature is enabled.

    File third_party/blink/renderer/core/layout/layout_object.cc
    Line 1974, Patchset 12: LocalToAbsoluteRect(overflow, flags | kTraverseDocumentBoundaries));
    Philip Rogers . resolved
    Do we need LocalToAncestorVisualRect? E.g.:
    ```
    <!doctype html>
    <div style="filter: blur(10px);">
    <div unbounded>
    </div>
    ```
    Mason Freed

    So at the moment, that unbounded element will escape that blur or a similar transform. (In LayerTreeHostImpl, the render pass for the unbounded element gets added to the unbounded_render_passes, which isn't connected to the parent's target, so it isn't affected by the parent effects.) I'm still wrestling with the best behavior here. I've been modeling this somewhat after top layer elements, which escape everything. That's the easiest implementation, but it's still an open question.

    As for `LocalToAncestorVisualRect`, doesn't that walk up the tree and collect clips and expansions due to ancestor effects? If so, we don't want that, at least for now, since we're escaping those.

    Line 1976, Patchset 12: return AbsoluteBoundingBoxRect(flags);
    Philip Rogers . resolved

    Why do we use kTraverseDocumentBoundaries above but not here?

    Mason Freed

    I've removed kTraverseDocumentBoundaries completely, since I've rebased this patch onto the iframe one, which uses view->FrameToViewport(bounds).

    File third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc
    Line 648, Patchset 12: object.AbsoluteBoundingBoxRectIncludingInkOverflow();
    Philip Rogers . unresolved

    AbsoluteBoundingBoxRectIncludingInkOverflow uses kTraverseDocumentBoundaries so we need to ensure this re-runs when ancestors change, even crossing frame boundaries. This seems hard.

    There can also be affected by transform animations and scrolls above and below the unbounded element. This also seems hard.

    Do we need a different approach here? For example, maybe we should tag the unbounded element's painting, and then handle all of this on the compositor thread (or later). Or maybe we need something like intersection observer which updates out-of-band.

    Mason Freed

    Ohhh. This is a good point, and you're right it's not handled now.

    The `kTraverseDocumentBoundaries` part is now gone, since we handle this via `view->FrameToViewport(bounds)`. (I rebased this patch onto the iframe one.) But the part about compositor scroll effects not invalidating this still exists. And probably compositor-driven transform animations don't update the unbounded element position.

    Here's my proposed approach:

    • go with the current approach in this CL, to get the basic (static) clip expansion behavior working. That's breaking some webium use cases now.
    • add a simple test case now for this issue, and mark it failing.
    • file a bug to fix it, with some suggested fixes.
    • fix that bug as a followup.

    {Edit: I'm actually unable to come up with a failing test reliably. I'm going to use crbug.com/524931672 for this, since it should catch any issues.}

    Sound ok to you?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Philip Rogers
    • Vladimir Levin
    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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
    Gerrit-Change-Number: 7927687
    Gerrit-PatchSet: 13
    Gerrit-Owner: Mason Freed <mas...@chromium.org>
    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
    Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
    Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
    Gerrit-Attention: Philip Rogers <p...@chromium.org>
    Gerrit-Attention: Vladimir Levin <vmp...@chromium.org>
    Gerrit-Comment-Date: Wed, 17 Jun 2026 23:51:07 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Philip Rogers <p...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Mason Freed (Gerrit)

    unread,
    Jun 23, 2026, 12:16:54 PM (2 days ago) Jun 23
    to Philip Rogers, Vladimir Levin, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
    Attention needed from Philip Rogers and Vladimir Levin

    Mason Freed added 1 comment

    Patchset-level comments
    File-level comment, Patchset 14 (Latest):
    Mason Freed . resolved

    Anything I can do to help with the review here?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Philip Rogers
    • Vladimir Levin
    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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
    Gerrit-Change-Number: 7927687
    Gerrit-PatchSet: 14
    Gerrit-Owner: Mason Freed <mas...@chromium.org>
    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
    Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
    Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
    Gerrit-Attention: Philip Rogers <p...@chromium.org>
    Gerrit-Attention: Vladimir Levin <vmp...@chromium.org>
    Gerrit-Comment-Date: Tue, 23 Jun 2026 16:16:40 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Philip Rogers (Gerrit)

    unread,
    Jun 23, 2026, 9:40:01 PM (2 days ago) Jun 23
    to Mason Freed, Vladimir Levin, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
    Attention needed from Mason Freed and Vladimir Levin

    Philip Rogers voted and added 2 comments

    Votes added by Philip Rogers

    Code-Review+1

    2 comments

    Patchset-level comments
    File-level comment, Patchset 15 (Latest):
    Philip Rogers . resolved

    LGTM

    File third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc
    Line 648, Patchset 12: object.AbsoluteBoundingBoxRectIncludingInkOverflow();
    Philip Rogers . resolved

    AbsoluteBoundingBoxRectIncludingInkOverflow uses kTraverseDocumentBoundaries so we need to ensure this re-runs when ancestors change, even crossing frame boundaries. This seems hard.

    There can also be affected by transform animations and scrolls above and below the unbounded element. This also seems hard.

    Do we need a different approach here? For example, maybe we should tag the unbounded element's painting, and then handle all of this on the compositor thread (or later). Or maybe we need something like intersection observer which updates out-of-band.

    Mason Freed

    Ohhh. This is a good point, and you're right it's not handled now.

    The `kTraverseDocumentBoundaries` part is now gone, since we handle this via `view->FrameToViewport(bounds)`. (I rebased this patch onto the iframe one.) But the part about compositor scroll effects not invalidating this still exists. And probably compositor-driven transform animations don't update the unbounded element position.

    Here's my proposed approach:

    • go with the current approach in this CL, to get the basic (static) clip expansion behavior working. That's breaking some webium use cases now.
    • add a simple test case now for this issue, and mark it failing.
    • file a bug to fix it, with some suggested fixes.
    • fix that bug as a followup.

    {Edit: I'm actually unable to come up with a failing test reliably. I'm going to use crbug.com/524931672 for this, since it should catch any issues.}

    Sound ok to you?

    Philip Rogers

    Acknowledged

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Mason Freed
    • Vladimir Levin
    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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
      Gerrit-Change-Number: 7927687
      Gerrit-PatchSet: 15
      Gerrit-Owner: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
      Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
      Gerrit-Attention: Mason Freed <mas...@chromium.org>
      Gerrit-Attention: Vladimir Levin <vmp...@chromium.org>
      Gerrit-Comment-Date: Wed, 24 Jun 2026 01:39:39 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Mason Freed <mas...@chromium.org>
      Comment-In-Reply-To: Philip Rogers <p...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mason Freed (Gerrit)

      unread,
      Jun 24, 2026, 4:43:48 PM (15 hours ago) Jun 24
      to Arthur Sonzogni, Philip Rogers, Vladimir Levin, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
      Attention needed from Arthur Sonzogni and Vladimir Levin

      Mason Freed added 1 comment

      Patchset-level comments
      File-level comment, Patchset 16 (Latest):
      Mason Freed . resolved

      +arthursonzogni for just this:

      content/browser/renderer_host/unbounded_element_browsertest.cc

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Arthur Sonzogni
      • Vladimir Levin
      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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
      Gerrit-Change-Number: 7927687
      Gerrit-PatchSet: 16
      Gerrit-Owner: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
      Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
      Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Attention: Vladimir Levin <vmp...@chromium.org>
      Gerrit-Comment-Date: Wed, 24 Jun 2026 20:43:32 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Arthur Sonzogni (Gerrit)

      unread,
      Jun 24, 2026, 5:00:51 PM (15 hours ago) Jun 24
      to Mason Freed, Philip Rogers, Vladimir Levin, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
      Attention needed from Arthur Sonzogni, Mason Freed and Vladimir Levin

      Arthur Sonzogni added 2 comments

      Message

      **[Early Review]** This is an automated early review generated by an LLM. It is intended to help you catch obvious issues early and **potentially save a round of code review**.

      If you find any suggestion irrelevant, please feel free to *ignore* or *close* it.

      _I am going to do a manual code review when I wake up._

      Please see suggestions below.

      2 comments

      File third_party/blink/renderer/core/html/html_element.cc
      Line 1578, Patchset 17 (Latest):
      Arthur Sonzogni . unresolved

      **[Early Review]**
      LocalFrameView::UpdateAllLifecyclePhasesExceptPaint returns void, so it cannot be used in a boolean expression. This will cause a compilation error. You should call the method on a non-null view and handle any post-update checks (such as verifying the document is still active) separately.

      File third_party/blink/renderer/core/layout/layout_object.cc
      Line 1973, Patchset 17 (Latest): return ToEnclosingRect(LocalToAbsoluteRect(overflow));
      Arthur Sonzogni . unresolved

      **[Early Review]**
      ToEnclosingRect is in the gfx namespace. Since there is no using declaration for it in this file (as seen by the use of gfx::ToEnclosingRect on line 1965), calling it without the gfx:: prefix will cause a compilation error. Use gfx::ToEnclosingRect instead.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Arthur Sonzogni
      • Mason Freed
      • Vladimir Levin
      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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
      Gerrit-Change-Number: 7927687
      Gerrit-PatchSet: 17
      Gerrit-Owner: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
      Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
      Gerrit-Attention: Mason Freed <mas...@chromium.org>
      Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Attention: Vladimir Levin <vmp...@chromium.org>
      Gerrit-Comment-Date: Wed, 24 Jun 2026 21:00:43 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mason Freed (Gerrit)

      unread,
      Jun 24, 2026, 8:10:24 PM (12 hours ago) Jun 24
      to Arthur Sonzogni, Philip Rogers, Vladimir Levin, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, navigation...@chromium.org, zol...@webkit.org
      Attention needed from Arthur Sonzogni and Vladimir Levin

      Mason Freed added 2 comments

      File third_party/blink/renderer/core/html/html_element.cc
      Arthur Sonzogni . resolved

      **[Early Review]**
      LocalFrameView::UpdateAllLifecyclePhasesExceptPaint returns void, so it cannot be used in a boolean expression. This will cause a compilation error. You should call the method on a non-null view and handle any post-update checks (such as verifying the document is still active) separately.

      Mason Freed

      Uhh - the AI is smoking something.

      ```
      bool LocalFrameView::UpdateAllLifecyclePhasesExceptPaint(
      DocumentUpdateReason reason) {
      return GetFrame().LocalFrameRoot().View()->UpdateLifecyclePhases(
      DocumentLifecycle::kPrePaintClean, reason);
      }
      ```
      File third_party/blink/renderer/core/layout/layout_object.cc
      Line 1973, Patchset 17 (Latest): return ToEnclosingRect(LocalToAbsoluteRect(overflow));
      Arthur Sonzogni . resolved

      **[Early Review]**
      ToEnclosingRect is in the gfx namespace. Since there is no using declaration for it in this file (as seen by the use of gfx::ToEnclosingRect on line 1965), calling it without the gfx:: prefix will cause a compilation error. Use gfx::ToEnclosingRect instead.

      Mason Freed

      It seems odd to point out compilation errors, since, you know, the bots are green. That, and there's a call to gfx::ToEnclosingRect just 2 lines above in the existing code.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Arthur Sonzogni
      • Vladimir Levin
      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: I440874dd1656c0744bcaa187435ac60d7e1f66b2
      Gerrit-Change-Number: 7927687
      Gerrit-PatchSet: 17
      Gerrit-Owner: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
      Gerrit-Reviewer: Vladimir Levin <vmp...@chromium.org>
      Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Attention: Vladimir Levin <vmp...@chromium.org>
      Gerrit-Comment-Date: Thu, 25 Jun 2026 00:10:12 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Arthur Sonzogni <arthurs...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages