Bug 119551

Summary: Every scroll causes additional layer tree work because of flatteningLayer->removeFromParent();
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, dino, esprehn+autocc, glenn, kondapallykalyan, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch dino: review+

Description Simon Fraser (smfr) 2013-08-07 10:43:48 PDT
Whenever we update layer geometry on a layer with a tile cache flattening layer, we hit:

    if (GraphicsLayer* flatteningLayer = tileCacheFlatteningLayer()) {
        flatteningLayer->removeFromParent();
        m_graphicsLayer->addChild(flatteningLayer);
    }

which is normally a no-op, but does cause us to push a new sublayers array down to CA. We should avoid this.
Comment 1 Simon Fraser (smfr) 2013-08-13 13:07:22 PDT
Created attachment 208668 [details]
Patch
Comment 2 Simon Fraser (smfr) 2013-08-13 13:17:27 PDT
https://trac.webkit.org/r154018