1,同所有浏览器一样,webkit也是在render 完毕以后,发送paint 消息给view,由view画出所有内容
2,在WebCore::Font::drawGlyphs设置断点,调用栈如下
#0 WebCore::Font::drawGlyphs
#1 0x4115c088 in WebCore::Font::drawGlyphBuffer
#2 0x4115bea9 in WebCore::Font::drawSimpleText
#3 0x4115c10d in WebCore::Font::drawText
#4 0x4105db97 in WebCore::GraphicsContext::drawText
#5 0x410a004a in WebCore::InlineTextBox::paint
#6 0x4109ca59 in WebCore::InlineFlowBox::paint
#7 0x41142f44 in WebCore::RootInlineBox::paint
#8 0x410d624a in WebCore::RenderFlow::paintLines
#9 0x410aa685 in WebCore::RenderBlock::paintContents
#10 0x410aad3d in WebCore::RenderBlock::paintObject
#11 0x410aa0ed in WebCore::RenderBlock::paint
#12 0x410aa8c2 in WebCore::RenderBlock::paintChildren
#13 0x410aa6a7 in WebCore::RenderBlock::paintContents
#14 0x410aad3d in WebCore::RenderBlock::paintObject
#15 0x410aa0ed in WebCore::RenderBlock::paint
#16 0x410aa8c2 in WebCore::RenderBlock::paintChildren
#17 0x410aa6a7 in WebCore::RenderBlock::paintContents //开始递归paint
#18 0x410aad3d in WebCore::RenderBlock::paintObject
#19 0x410aa0ed in WebCore::RenderBlock::paint
#20 0x410e748c in WebCore::RenderLayer::paintLayer
#21 0x410e7687 in WebCore::RenderLayer::paintLayer
#22 0x410e6ea8 in WebCore::RenderLayer::paint
#23 0x41027307 in WebCore::Frame::paint
#24 0x411963e7 in QWebFrame::viewportPaintEvent
#25 0x40319f67 in QScrollView::eventFilter ()