Support viewport mapping in GeometryMapper fast path [chromium/src : main]

0 views
Skip to first unread message

Aaron Leventhal (Gerrit)

unread,
Dec 15, 2025, 2:03:03 PM (21 hours ago) Dec 15
to Khushal Sagar, Philip Rogers, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, aleventh...@chromium.org, fserb...@chromium.org, drott+bl...@chromium.org, blink-reviews-p...@chromium.org, kinuko...@chromium.org, fmalit...@chromium.org, mfoltz+wa...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from Philip Rogers

Aaron Leventhal added 3 comments

Patchset-level comments
File-level comment, Patchset 14:
Philip Rogers . resolved

This looks good overall!

Can you put this change behind an enabled-by-default flag (maybe `BlinkGeometryMapperViewportFastPath`) by adding a flag to `third_party/blink/renderer/platform/runtime_enabled_features.json5` and wrapping the behavior changes in `if (RuntimeEnabledFeatures:: BlinkGeometryMapperViewportFastPathEnabled) {`? This will make it easier to disable in production in the unlikely case that it ends up triggering a crash or an unexpected behavior change.

Aaron Leventhal

Done

Commit Message
Line 7, Patchset 14:Support viewport mapping oin GeometryMapper fast path
Philip Rogers . resolved

nit oin -> on

Aaron Leventhal

Done

File third_party/blink/renderer/core/layout/layout_object.cc
Line 2380, Patchset 14: PropertyTreeState unaliased_container(
Philip Rogers . resolved

Can this just do:
```
PropertyTreeState unaliased_container = container_properties.Unalias();
```
And remove UnaliasOrRoot?

Aaron Leventhal

Done

Open in Gerrit

Related details

Attention is currently required from:
  • 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: I41ddf12b934607c120cc408230c2eac6eeb2e3ea
Gerrit-Change-Number: 7232310
Gerrit-PatchSet: 15
Gerrit-Owner: Aaron Leventhal <aleve...@google.com>
Gerrit-Reviewer: Aaron Leventhal <aleve...@google.com>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Khushal Sagar <khusha...@chromium.org>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-Attention: Philip Rogers <p...@chromium.org>
Gerrit-Comment-Date: Mon, 15 Dec 2025 19:02:56 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Philip Rogers <p...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Aaron Leventhal (Gerrit)

unread,
Dec 15, 2025, 2:03:47 PM (21 hours ago) Dec 15
to Khushal Sagar, Philip Rogers, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, aleventh...@chromium.org, fserb...@chromium.org, drott+bl...@chromium.org, blink-reviews-p...@chromium.org, kinuko...@chromium.org, fmalit...@chromium.org, mfoltz+wa...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from Philip Rogers

Aaron Leventhal voted Auto-Submit+1

Auto-Submit+1
Open in Gerrit

Related details

Attention is currently required from:
  • 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: I41ddf12b934607c120cc408230c2eac6eeb2e3ea
Gerrit-Change-Number: 7232310
Gerrit-PatchSet: 16
Gerrit-Owner: Aaron Leventhal <aleve...@google.com>
Gerrit-Reviewer: Aaron Leventhal <aleve...@google.com>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Khushal Sagar <khusha...@chromium.org>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-Attention: Philip Rogers <p...@chromium.org>
Gerrit-Comment-Date: Mon, 15 Dec 2025 19:03:41 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Philip Rogers (Gerrit)

unread,
Dec 15, 2025, 2:23:20 PM (21 hours ago) Dec 15
to Aaron Leventhal, Khushal Sagar, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, jmedle...@chromium.org, aleventh...@chromium.org, fserb...@chromium.org, drott+bl...@chromium.org, blink-reviews-p...@chromium.org, kinuko...@chromium.org, fmalit...@chromium.org, mfoltz+wa...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from Aaron Leventhal

Philip Rogers voted and added 1 comment

Votes added by Philip Rogers

Code-Review+1
Commit-Queue+2

1 comment

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

LGTM

Open in Gerrit

Related details

Attention is currently required from:
  • Aaron Leventhal
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: I41ddf12b934607c120cc408230c2eac6eeb2e3ea
Gerrit-Change-Number: 7232310
Gerrit-PatchSet: 16
Gerrit-Owner: Aaron Leventhal <aleve...@google.com>
Gerrit-Reviewer: Aaron Leventhal <aleve...@google.com>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Khushal Sagar <khusha...@chromium.org>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-Attention: Aaron Leventhal <aleve...@google.com>
Gerrit-Comment-Date: Mon, 15 Dec 2025 19:23:06 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Chromium LUCI CQ (Gerrit)

unread,
Dec 15, 2025, 2:58:00 PM (20 hours ago) Dec 15
to Aaron Leventhal, Philip Rogers, Khushal Sagar, Dirk Schulze, Stephen Chenney, AyeAye, chromium...@chromium.org, jmedle...@chromium.org, aleventh...@chromium.org, fserb...@chromium.org, drott+bl...@chromium.org, blink-reviews-p...@chromium.org, kinuko...@chromium.org, fmalit...@chromium.org, mfoltz+wa...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org

Chromium LUCI CQ submitted the change

Change information

Commit message:
Support viewport mapping in GeometryMapper fast path

When mapping a rect to the viewport, a caller passes a null ancestor
to MapToVisualRectInAncestorSpace(), which has the unfortunate side
effect of avoiding the geometry mapper (the fast path), even when the
kUseGeometryMapper flag was passed.

However, the legacy slow path has slightly different math and
introduces discrepancies with things like nested filters, causing
DCHECK failures in APC because the visible bounding box does not fit
in the outer bounding box.

Use of the fast path is now enabled for
MapToVisualRectInAncestorSpace() with a null ancestor (iow for
viewport mapping). This improves all callers using a null
ancestor while addressing the failing geometry DCHECKs in APC.
Change-Id: I41ddf12b934607c120cc408230c2eac6eeb2e3ea
Reviewed-by: Philip Rogers <p...@chromium.org>
Commit-Queue: Philip Rogers <p...@chromium.org>
Commit-Queue: Aaron Leventhal <aleve...@google.com>
Auto-Submit: Aaron Leventhal <aleve...@google.com>
Cr-Commit-Position: refs/heads/main@{#1558905}
Files:
  • M third_party/blink/renderer/core/layout/layout_object.cc
  • M third_party/blink/renderer/core/layout/layout_object.h
  • M third_party/blink/renderer/core/layout/visual_rect_mapping_test.cc
  • M third_party/blink/renderer/platform/graphics/paint/geometry_mapper.cc
  • M third_party/blink/renderer/platform/graphics/paint/geometry_mapper.h
  • M third_party/blink/renderer/platform/graphics/paint/geometry_mapper_test.cc
  • M third_party/blink/renderer/platform/runtime_enabled_features.json5
  • M third_party/blink/web_tests/FlagExpectations/content-extraction
  • M third_party/blink/web_tests/TestExpectations
Change size: M
Delta: 9 files changed, 194 insertions(+), 21 deletions(-)
Branch: refs/heads/main
Submit Requirements:
  • requirement satisfiedCode-Review: +1 by Philip Rogers
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I41ddf12b934607c120cc408230c2eac6eeb2e3ea
Gerrit-Change-Number: 7232310
Gerrit-PatchSet: 17
Gerrit-Owner: Aaron Leventhal <aleve...@google.com>
Gerrit-Reviewer: Aaron Leventhal <aleve...@google.com>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages