Bug 107656

Summary: Coordinated Graphics: CoordinatedLayerTreeHost::sizeDidChange uses the size in css unit, not device unit.
Product: WebKit Reporter: Dongseong Hwang <dongseong.hwang>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 105978    
Bug Blocks: 103105    

Description Dongseong Hwang 2013-01-23 03:10:56 PST
CoordinatedLayerTreeHost::sizeDidChange set the size of WebPage to GraphicsLayer, and the size is in device units.

void CoordinatedLayerTreeHost::sizeDidChange(const WebCore::IntSize& newSize)
{
    if (m_rootLayer->size() == newSize)
        return;

    m_rootLayer->setSize(newSize);

    // If the newSize exposes new areas of the non-composited content a setNeedsDisplay is needed
    // for those newly exposed areas.
    FloatSize oldSize = m_nonCompositedContentLayer->size();
    m_nonCompositedContentLayer->setSize(newSize);
    ...
}

But all other child layer has the size in css unit.

I don't find any artifact yet, because TBS paints entire contents for non composited layer. But it is a potential bug.

In addition, I'm not sure if WebPage should use the size in device unit.
Comment 1 Dongseong Hwang 2013-01-23 03:56:31 PST
I think it may be related to Bug 104906
Comment 2 Dongseong Hwang 2013-03-10 20:01:43 PDT
Bug 111407 works in progress about refactoring CoordinatedLayerTreeHost::sizeDidChange.