Bug 89241 - Align RenderLayer's descendant dependent flags semantics
Summary: Align RenderLayer's descendant dependent flags semantics
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Julien Chaffraix
URL:
Keywords:
Depends on: 88888
Blocks:
  Show dependency treegraph
 
Reported: 2012-06-15 12:50 PDT by Julien Chaffraix
Modified: 2012-06-19 16:39 PDT (History)
3 users (show)

See Also:


Attachments
Proposed change v1. (9.36 KB, patch)
2012-06-15 13:59 PDT, Julien Chaffraix
no flags Details | Formatted Diff | Diff
Patch for landing (9.62 KB, patch)
2012-06-19 14:29 PDT, Julien Chaffraix
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Julien Chaffraix 2012-06-15 12:50:25 PDT
After bug 88888, we have a new descendant dependent flag (has-self-painting-layer-descendant) on RenderLayer that behaves slightly differently than the existing flags (visible descendant mostly and visible content to some extend).

One of the review comment of bug 88888 was to bring their implementation and naming closer to avoid un-intended difference in behavior.
Comment 1 Julien Chaffraix 2012-06-15 13:59:43 PDT
Created attachment 147892 [details]
Proposed change v1.
Comment 2 Simon Fraser (smfr) 2012-06-19 11:41:58 PDT
Comment on attachment 147892 [details]
Proposed change v1.

View in context: https://bugs.webkit.org/attachment.cgi?id=147892&action=review

> Source/WebCore/ChangeLog:16
> +        Changed this method to not take a boolean as every callers where passing

"as every caller was passing"

> Source/WebCore/rendering/RenderLayer.cpp:648
> +            sc->dirtyZOrderLists();
> +            if (sc->hasVisibleContent())

I'd like to see a comment explaining why z-order lists are dirtied. I think we also don't omit hidden layers from the z-order lists when compositing, so you may be able to avoid this dirty in some cases.
Comment 3 Julien Chaffraix 2012-06-19 14:29:11 PDT
Comment on attachment 147892 [details]
Proposed change v1.

View in context: https://bugs.webkit.org/attachment.cgi?id=147892&action=review

>> Source/WebCore/rendering/RenderLayer.cpp:648
>> +            if (sc->hasVisibleContent())
> 
> I'd like to see a comment explaining why z-order lists are dirtied. I think we also don't omit hidden layers from the z-order lists when compositing, so you may be able to avoid this dirty in some cases.

Here is what I have added to the patch for landing:

// We don't collect invisible layers in z-order lists if we are not in compositing mode.
// As we became visible, we need to dirty our stacking contexts ancestors to be properly
// collected. FIXME: When compositing, we could skip this dirtying phase.
Comment 4 Julien Chaffraix 2012-06-19 14:29:56 PDT
Created attachment 148424 [details]
Patch for landing
Comment 5 WebKit Review Bot 2012-06-19 16:39:34 PDT
Comment on attachment 148424 [details]
Patch for landing

Clearing flags on attachment: 148424

Committed r120770: <http://trac.webkit.org/changeset/120770>
Comment 6 WebKit Review Bot 2012-06-19 16:39:38 PDT
All reviewed patches have been landed.  Closing bug.