Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Issue 2859673004: Implement rational overflow clipping in SPv2 (Closed)

Created:
3 years, 7 months ago by chrishtr
Modified:
3 years, 6 months ago
Reviewers:
trchen
CC:
blink-reviews, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, dshwang, drott+blinkwatch_chromium.org, krit, fmalita+watch_chromium.org, Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement rational overflow clipping in SPv2 BUG=699834 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Patch Set 1 #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+47 lines, -2 lines) Patch
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp View 2 chunks +16 lines, -2 lines 3 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.h View 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.cpp View 3 chunks +25 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (3 generated)
trchen
This looks like a good first step! This will apply rounded clip to effects. Are ...
3 years, 7 months ago (2017-05-03 21:13:22 UTC) #4
chrishtr
On 2017/05/03 at 21:13:22, trchen wrote: > This looks like a good first step! This ...
3 years, 7 months ago (2017-05-03 21:18:00 UTC) #5
chrishtr
https://codereview.chromium.org/2859673004/diff/1/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp File third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp (right): https://codereview.chromium.org/2859673004/diff/1/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp#newcode601 third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp:601: output_clip = context.fixed_position.clip; On 2017/05/03 at 21:13:22, trchen wrote: ...
3 years, 7 months ago (2017-05-03 21:20:59 UTC) #6
trchen
On 2017/05/03 21:20:59, chrishtr wrote: > https://codereview.chromium.org/2859673004/diff/1/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp > File third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp (right): > > https://codereview.chromium.org/2859673004/diff/1/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp#newcode601 > ...
3 years, 7 months ago (2017-05-03 22:04:18 UTC) #7
chrishtr
3 years, 7 months ago (2017-05-03 22:10:14 UTC) #8
On 2017/05/03 at 22:04:18, trchen wrote:
> On 2017/05/03 21:20:59, chrishtr wrote:
> >
https://codereview.chromium.org/2859673004/diff/1/third_party/WebKit/Source/c...
> > File third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
(right):
> > 
> >
https://codereview.chromium.org/2859673004/diff/1/third_party/WebKit/Source/c...
> > third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp:601:
> > output_clip = context.fixed_position.clip;
> > On 2017/05/03 at 21:13:22, trchen wrote:
> > > fixed_position.clip is not necessarily shallower than in-flow clip, due to
CSS
> > clip. Why is this needed though? The default from line #560 is as shallow as
you
> > could get.
> > 
> > It's required to implement fx-containment, step 1 I think - no clips may
escape
> > effects.
> 
> Line #560 already guarantees that. It always points to a clip that is a common
ancestor of every children.
> (In fact, almost always the root node.)
> 
> > I don't get why fixed_position.clip might be deeper than in-flow clip. Can
you
> > post an example?
> 
> <div style="position:relative; overflow:hidden;">
>   <div style="position:absolute; clip:rect(...);">
>     <div>P1</div>
>     <div style="position:fixed;">P2</div>
>   </div>
> </div>
> 
> P1 wants both clip, P2 wants only the CSS clip. We ended up creating separate
clip nodes for in-flow+abs-pos children and fix-pos children.
(ObjectPaintProperties::CssClipFixedPosition())

Ah ok I see. The issue is that the fixed position clip node might not be an
ancestor of the other one.

Powered by Google App Engine
This is Rietveld 408576698