New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 708741 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Provide variants of GeometryMapper methods that guarantee tight clip/visual rects

Project Member Reported by chrishtr@chromium.org, Apr 5 2017

Issue description

Some use-cases of GeometryMapper are used for actual clips applied on the page.
For those use-cases, we need tight clip rects. For other use-cases, conservative
results suffice. To reduce the risk of coding errors, we should add variants
of the GeometryMapper methods to distinguish these requirements.
 
Labels: PaintTeamTriaged-20170405 BugSource-Team
By the way I filed a sibling bug before that requests a variant to map opaque region from one space to another space:  https://crbug.com/701991 

That variant could have a minimalist implementation by using this variant. (Return empty if any effects, compute mapped visual rect, return empty if any false-positive is signaled, otherwise return the tight visual rect.)
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Available)
I'm looking into this which blocks https://chromium-review.googlesource.com/c/chromium/src/+/753540.
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a4f7077baed35c6c653a5d17e3311c46cb05105

commit 1a4f7077baed35c6c653a5d17e3311c46cb05105
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Thu Nov 16 00:15:07 2017

Detect tightness of clip rects in GeometryMapper

A clip rect is tight when it covers only the clipped content but not
anything else. Client of GeometryMapper sometimes need to know the
tightness of the mapped clip rects to determine if certain operations
are applicable, e.g. incremental invalidation of changed clip.

Also expand clip if there are any effects to enclose the pixels affected
by the effects.

Bug:  708741 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I9df0afa96b21fec0d1323fd2105abc33f53d9c74
Reviewed-on: https://chromium-review.googlesource.com/762153
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516910}
[modify] https://crrev.com/1a4f7077baed35c6c653a5d17e3311c46cb05105/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp
[modify] https://crrev.com/1a4f7077baed35c6c653a5d17e3311c46cb05105/third_party/WebKit/Source/platform/graphics/paint/FloatClipRect.h
[modify] https://crrev.com/1a4f7077baed35c6c653a5d17e3311c46cb05105/third_party/WebKit/Source/platform/graphics/paint/FloatClipRectTest.cpp
[modify] https://crrev.com/1a4f7077baed35c6c653a5d17e3311c46cb05105/third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.cpp
[modify] https://crrev.com/1a4f7077baed35c6c653a5d17e3311c46cb05105/third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.h
[modify] https://crrev.com/1a4f7077baed35c6c653a5d17e3311c46cb05105/third_party/WebKit/Source/platform/graphics/paint/GeometryMapperClipCache.h
[modify] https://crrev.com/1a4f7077baed35c6c653a5d17e3311c46cb05105/third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment