Difference between revisions of "Mozilla.dev.tech.layout"
(→Newsgroup) |
(→FAQ) |
||
Line 13: | Line 13: | ||
== FAQ == | == FAQ == | ||
− | + | ||
+ | 1. Is there a way to do profiling of what is going on in Mozilla? Is there a framework for this? | ||
A. If you're on Linux, then you can try using jprof. Instructions are available at | A. If you're on Linux, then you can try using jprof. Instructions are available at | ||
[http://lxr.mozilla.org/mozilla/source/tools/jprof/README.html Jprof Readme] On more recent linux versions sysprof can also | [http://lxr.mozilla.org/mozilla/source/tools/jprof/README.html Jprof Readme] On more recent linux versions sysprof can also | ||
be used. [http://www.mozilla.org/performance/tools.html] also lists some profiles. | be used. [http://www.mozilla.org/performance/tools.html] also lists some profiles. | ||
− | + | ||
+ | 2. How do you findout if there are any reflows that are pending and wait to show the view until afterwards, but if none are pending, show the view immediately? What is the best way to determine whether there are any pending changes? === | ||
A. On the reflow branch you could check the DIRTY and DIRTY_CHILDREN framestate | A. On the reflow branch you could check the DIRTY and DIRTY_CHILDREN framestate | ||
Line 24: | Line 26: | ||
cases when the popup or something in it needs to be reflown. | cases when the popup or something in it needs to be reflown. | ||
− | + | 3. What are the lowercase items called "line"? === | |
Block(body)(1)@035FF490 {120,120,8820,600} [state=00000010] | Block(body)(1)@035FF490 {120,120,8820,600} [state=00000010] | ||
sc=035FF264(i=2,b=0)< | sc=035FF264(i=2,b=0)< | ||
Line 44: | Line 46: | ||
[http://lxr.mozilla.org/seamonkey/source/layout/generic/nsLineBox.cpp#206 Example] | [http://lxr.mozilla.org/seamonkey/source/layout/generic/nsLineBox.cpp#206 Example] | ||
− | + | 4. How do you fix inconsistent float behavior in firefox involving a two column layout using display:table and floating div elements ? === | |
A. [https://bugzilla.mozilla.org/show_bug.cgi?id=105520 This is a bug in Firefox.] You can work around it by removing | A. [https://bugzilla.mozilla.org/show_bug.cgi?id=105520 This is a bug in Firefox.] You can work around it by removing | ||
display:table in the style rule with the "#main" selector or adding clear:both to it. | display:table in the style rule with the "#main" selector or adding clear:both to it. |
Revision as of 13:46, 13 October 2006
Contents
Newsgroup
Mozilla.dev.tech.layout
Authors
Weekly Summaries
FAQ
1. Is there a way to do profiling of what is going on in Mozilla? Is there a framework for this?
A. If you're on Linux, then you can try using jprof. Instructions are available at Jprof Readme On more recent linux versions sysprof can also be used. [1] also lists some profiles.
2. How do you findout if there are any reflows that are pending and wait to show the view until afterwards, but if none are pending, show the view immediately? What is the best way to determine whether there are any pending changes? ===
A. On the reflow branch you could check the DIRTY and DIRTY_CHILDREN framestate flags. That won't help with pending style changes, but it'll work to detect cases when the popup or something in it needs to be reflown.
3. What are the lowercase items called "line"? ===
Block(body)(1)@035FF490 {120,120,8820,600} [state=00000010] sc=035FF264(i=2,b=0)< line 035FFC18: count=1 state=inline,clean,prevmarginclean,not impacted,not wrapped,before:nobr,after:linebr[0x5100] {0,0,330,300} < Inline(span)(0)@035FFA04 next=035FFC48 next-continuation=035FFC48 {0,7,330,285} [content=0359ED50] [sc=035FF990]< Text(0)@035FFA8C[0,4,T] next=035FFB1C {0,0,330,285} [state=41600020] sc=035FFA3C pst=:-moz-non-element< "\nabc" > Frame(br)(1)@035FFB1C {330,225,0,0} [state=00000020] [content=035AEBF0] > > A. The linebox is used to contain everything on a single line: Example
4. How do you fix inconsistent float behavior in firefox involving a two column layout using display:table and floating div elements ? ===
A. This is a bug in Firefox. You can work around it by removing display:table in the style rule with the "#main" selector or adding clear:both to it.