Bug 131574

Summary: Lots of compositing test failures after r167152
Product: WebKit Reporter: Tim Horton <thorton>
Component: WebCore Misc.Assignee: Tim Horton <thorton>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, burg, commit-queue, esprehn+autocc, glenn, kondapallykalyan, sergio, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
as-yet untested patch
none
patch
none
patch
simon.fraser: review+
part 2 darin: review+

Description Tim Horton 2014-04-11 16:57:28 PDT
Because of the extra empty layer in the tree.
Comment 1 Tim Horton 2014-04-11 16:58:57 PDT
Created attachment 229181 [details]
as-yet untested patch

waiting on a build at the moment
Comment 2 Tim Horton 2014-04-11 17:27:35 PDT
Created attachment 229184 [details]
patch
Comment 3 Tim Horton 2014-04-11 17:49:06 PDT
Created attachment 229188 [details]
patch
Comment 4 Tim Horton 2014-04-11 18:26:18 PDT
http://trac.webkit.org/changeset/167177
Comment 5 Benjamin Poulain 2014-04-13 20:54:33 PDT
The tree is still red, can you please have a look?
Comment 6 Tim Horton 2014-04-13 23:25:27 PDT
Wat, fixed the majority but there's one left? That is bizarre... I will look right away.
Comment 7 Tim Horton 2014-04-14 00:13:18 PDT
Reopening to fix the one remaining failure.
Comment 8 Tim Horton 2014-04-14 00:24:57 PDT
If we have a layer, skip one of its children, then want its grandchildren listed in its children's place, we won't correctly skip any grandchildren that want skipping. This mechanism (my fault in the first place, from many months ago) is a bit flawed. Will fix.
Comment 9 Tim Horton 2014-04-14 00:42:33 PDT
Created attachment 229268 [details]
part 2
Comment 10 Darin Adler 2014-04-14 08:36:22 PDT
Comment on attachment 229268 [details]
part 2

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

> Source/WebCore/platform/graphics/GraphicsLayer.cpp:596
> +    for (size_t childIndex = 0; childIndex < children.size(); childIndex++) {
> +        GraphicsLayer* child = children[childIndex];

This should use a C++11 for loop:

    for (auto* child : children) {
Comment 11 Tim Horton 2014-04-14 08:43:10 PDT
http://trac.webkit.org/changeset/167246