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)
// 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();
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.
I think it may be related to Bug 104906
Bug 111407 works in progress about refactoring CoordinatedLayerTreeHost::sizeDidChange.