nsTableFrame.cpp
by changing the
#ifdef 1
to
#ifdef 0
you can turn on the table reflow log mechanism.
A sample line is:
TO::Rfl en 00B74D78 rea=0 av=(8940,UC) comp=(0,0) count=0
new: Tbl 00B6C4E0 r=0 a=8940 c=0,0 cnt=0
The lines has the
TO::Rfl en
, these messages are generated in the following routines:
TO::
nsTableOuterFrame::Reflow
T::
nsTableFrame::Reflow
TRG::
nsTableRowGroupFrame::Reflow
TR::
nsTableRowFrame::Reflow
TC::
nsTableCellFrame::Reflow
Area::
nsTableCellFrame::Reflow
00B74D78
rea=0
The correpsonding enumerate is in
nsHTMLReflowState.h
.
av=(8940,UC)
for this case the available width is 8940 twips this corresponds to 8940/15=
596 pixel. The height is unconstrained. (This is 1<<30).
comp=(0,0)
also in twips
count=0
TO::Rfl ex 00B74D78 des=(1500,900)
TC::Rfl ex 00B75498 des=(2070,315) maxElem=(2070,315)
set GECKO_BLOCK_DEBUG_FLAGS=reflow
The available options are:
reflow
really-noisy-reflow
max-element-size
space-manager
verify-lines
damage-repair
lame-paint-metrics
lame-reflow-metrics
disable-resize-opt
reflow
switch:
Block(div)(1)@00BE5AC4: reflowing dirty lines computedWidth=9000 computedHeight=1500
nsresult nsBlockFrame::ReflowDirtyLines(nsBlockReflowState& aState)
#define WIDTH_NOT_SET -1 #define NUM_WIDTHS 10 #define NUM_MAJOR_WIDTHS 3 // MIN, DES, FIX #define MIN_CON 0 // minimum width required of the content + padding #define DES_CON 1 // desired width of the content + padding #define FIX 2 // fixed width either from the content or cell, col, etc. + padding #define MIN_ADJ 3 // minimum width + padding due to col spans #define DES_ADJ 4 // desired width + padding due to col spans #define FIX_ADJ 5 // fixed width + padding due to col spans #define PCT 6 // percent width of cell or col #define PCT_ADJ 7 // percent width of cell or col from percent colspan #define MIN_PRO 8 // desired width due to proportionalA typical part from a table dump when activated by setting in BasicTableLayoutStrategy.cpps or cols attribute #define FINAL 9 // width after the table has been balanced, considering all of the others
#if 0
BalanceColumnWidths ex ***START TABLE DUMP*** mColWidths=6444 330 330 330 330 330 330 396 col frame cache -> 0=00BF0150 1=00BF01B4 2=00BF0218 3=00BF027C 4=00BF02E0 5=00BF0344 6=00BF03A8 7=0 0BF040C **START COL DUMP** colIndex=0 isAnonymous=0 constraint=0 widths=405 405 -1 -1 -1 -1 1794 -1 -1 6444 **END COL DUMP** **START COL DUMP** colIndex=1 isAnonymous=0 constraint=0 widths=0 0 -1 90 -1 -1 -1 90 -1 330 **END COL DUMP** **START COL DUMP** colIndex=2 isAnonymous=0 constraint=0 widths=0 0 -1 90 -1 -1 -1 -1 -1 330 **END COL DUMP** **START COL DUMP** colIndex=3 isAnonymous=0 constraint=0 widths=0 0 -1 90 -1 -1 -1 -1 -1 330 **END COL DUMP** **START COL DUMP** colIndex=4 isAnonymous=0 constraint=0 widths=0 0 -1 90 -1 -1 -1 -1 -1 330 **END COL DUMP** **START COL DUMP** colIndex=5 isAnonymous=0 constraint=0 widths=0 0 -1 90 -1 -1 -1 -1 -1 330 **END COL DUMP** **START COL DUMP** colIndex=6 isAnonymous=0 constraint=0 widths=0 0 -1 90 -1 -1 -1 -1 -1 330 **END COL DUMP** **START COL DUMP** colIndex=7 isAnonymous=0 constraint=0 widths=0 0 -1 120 -1 -1 -1 -1 -1 396 **END COL DUMP** ***END TABLE DUMP***The column dump is implemented in
nsTableColFrame.cpp
in the routine:
void nsTableColFrame::Dump(PRInt32 aIndent)
.
MIN_CON | DES_CON | FIX | MIN_ADJ | DES_ADJ | FIX_ADJ | PCT | PCT_ADJ | MIN_PRO | FINAL |
---|---|---|---|---|---|---|---|---|---|
405 | 405 | -1 | -1 | -1 | -1 | 1794 | -1 | -1 | 6444 |