webkit paint

1. WebFrame::spoolPages(...)  =C>  调用Frame paint函数
2. coreFramepaint(&spoolCtx, pageRect);{void Frame::paint(GraphicsContext* p, const IntRect& rect)}  =C> 调用根(document) 的layer 的paint函数
3. contentRenderer()->layer()-> paint(p, rect, d->m_paintRestriction, eltRenderer);  RenderLayer::paint( GraphicsContext* p, const IntRect& damageRect, PaintRestriction paintRestriction, RenderObject *paintingRoot)  =C> 调paintLayer
4. paintLayer(this, p, damageRect, false, paintRestriction, paintingRoot);    =C> 调 rearrange..., RenderObject::paint
5. void RenderObject::paint(PaintInfo& /*paintInfo*/, int /*tx*/, int /*ty*/) ; // this is virtual function  
WebFrame ===> Frame::paint =...>  RenderLayer::paint ===> RenderLayer::paintLayer ===> RenderObject::paint

你可能感兴趣的:(webkit paint)