layout过程跟踪
#0 0x0000000113d09f01 in blink::LayoutBox::clientWidth() const at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBox.cpp:443
#1 0x0000000113dc3118 in blink::LayoutBox::contentWidth() const [inlined] at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBox.h:417
#2 0x0000000113dc3110 in blink::LayoutBox::contentLogicalWidth() const at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBox.h:420
#3 0x0000000113d1028d in blink::LayoutBox::availableLogicalWidth() const [inlined] at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBox.h:748
#4 0x0000000113d10285 in blink::LayoutBox::containingBlockLogicalWidthForContent() const at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBox.cpp:1681
#5 0x0000000113d16635 in blink::LayoutBox::computeAndSetBlockDirectionMargins(blink::LayoutBlock const*) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBox.cpp:3033
#6 0x0000000113cefd82 in blink::LayoutBlockFlow::layoutBlockChild(blink::LayoutBox&, blink::BlockChildrenLayoutInfo&) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:695
#7 0x0000000113cf34ea in blink::LayoutBlockFlow::layoutBlockChildren(bool, blink::SubtreeLayoutScope&, blink::LayoutUnit, blink::LayoutUnit) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:1194
#8 0x0000000113ceedb3 in blink::LayoutBlockFlow::layoutBlockFlow(bool, blink::LayoutUnit&, blink::SubtreeLayoutScope&) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:471
#9 0x0000000113cee760 in blink::LayoutBlockFlow::layoutBlock(bool) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:389
#10 0x0000000113ce5faa in blink::LayoutBlock::layout() at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlock.cpp:373
#11 0x0000000113db0f61 in blink::LayoutView::layoutContent() [inlined] at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutView.cpp:185
#12 0x0000000113db0f59 in blink::LayoutView::layout() at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutView.cpp:261
#13 0x0000000113af5896 in blink::layoutFromRootObject(blink::LayoutObject&) [inlined] at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/frame/FrameView.cpp:845
#14 0x0000000113af587f in blink::FrameView::performLayout(bool) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/frame/FrameView.cpp:914
#15 0x0000000113af421b in blink::FrameView::layout() at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/frame/FrameView.cpp:1064
#16 0x0000000113679a4b in blink::Document::updateStyleAndLayout() at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/dom/Document.cpp:1887
#17 0x000000011367998a in blink::Document::updateStyleAndLayoutIgnorePendingStylesheets(blink::Document::RunPostLayoutTasks) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/dom/Document.cpp:1974
text layout过程跟踪
#0 0x0000000113ddb0cc in blink::InlineFlowBox::addToLine(blink::InlineBox*) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp:94
#1 0x0000000113cfe4f7 in blink::LayoutBlockFlow::createLineBoxes(blink::LineLayoutItem, blink::LineInfo const&, blink::InlineBox*) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp:205
#2 0x0000000113cfe774 in blink::LayoutBlockFlow::constructLine(blink::BidiRunList<blink::BidiRun>&, blink::LineInfo const&) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp:288
#3 0x0000000113d00a5b in blink::LayoutBlockFlow::createLineBoxesFromBidiRuns(unsigned int, blink::BidiRunList<blink::BidiRun>&, blink::InlineIterator const&, blink::LineInfo&, blink::VerticalPositionCache&, blink::BidiRun*, WTF::Vector<blink::WordMeasurement, 64ul, WTF::PartitionAllocator>&) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp:704
#4 0x0000000113d01f51 in blink::LayoutBlockFlow::layoutRunsAndFloatsInRange(blink::LineLayoutState&, blink::BidiResolver<blink::InlineIterator, blink::BidiRun, blink::BidiIsolatedRun>&, blink::InlineIterator const&, blink::BidiStatus const&) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp:897
#5 0x0000000113d00eab in blink::LayoutBlockFlow::layoutRunsAndFloats(blink::LineLayoutState&) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp:769
#6 0x0000000113d052ae in blink::LayoutBlockFlow::layoutInlineChildren(bool, blink::LayoutUnit) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp:1602
#7 0x0000000113ceed93 in blink::LayoutBlockFlow::layoutBlockFlow(bool, blink::LayoutUnit&, blink::SubtreeLayoutScope&) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:469
#8 0x0000000113cee760 in blink::LayoutBlockFlow::layoutBlock(bool) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:389
#9 0x0000000113ce5faa in blink::LayoutBlock::layout() at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlock.cpp:373
#10 0x0000000113ce747f in blink::LayoutObject::layoutIfNeeded() [inlined] at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutObject.h:900
#11 0x0000000113ce746a in blink::LayoutBlock::layoutPositionedObjects(bool, blink::LayoutBlock::PositionedLayoutBehavior) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlock.cpp:723
#12 0x0000000113cef1b2 in blink::LayoutBlockFlow::layoutBlockFlow(bool, blink::LayoutUnit&, blink::SubtreeLayoutScope&) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:531
#13 0x0000000113cee760 in blink::LayoutBlockFlow::layoutBlock(bool) at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:389
#14 0x0000000113ce5faa in blink::LayoutBlock::layout() at /Users/shangbin/Desktop/chrome/chrome_53_mac_debug/chromium_osx/src/out/Release/../../third_party/WebKit/Source/core/layout/LayoutBlock.cpp:373
排版对象的位置
LayoutBlockFlow::layoutBlockFlow
LayoutBlockFlow::layoutBlockChildren
LayoutBlockFlow::layoutBlockChild(排版位置)
LayoutBlockFlow::layoutInlineChildren
LayoutBlockFlow::layoutRunsAndFloats