Difference between revisions of "Mozilla.dev.tech.layout"

From CDOT Wiki
Jump to: navigation, search
(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? ===
+
 
 +
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? ===
+
 
 +
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"? ===
+
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 ? ===
+
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 14:46, 13 October 2006

Newsgroup

Mozilla.dev.tech.layout

Authors

  1. Philip Vitorino
  2. Colin Guy

Weekly Summaries

  1. Mozilla.dev.tech.layout_-_Friday_September_29_2006

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.