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

From CDOT Wiki
Jump to: navigation, search
(Newsgroup)
(Weekly Summaries)
 
(23 intermediate revisions by 4 users not shown)
Line 4: Line 4:
  
 
Go to [http://groups.google.com/group/mozilla.dev.tech.layout Mozilla.dev.tech.layout] on google groups.
 
Go to [http://groups.google.com/group/mozilla.dev.tech.layout Mozilla.dev.tech.layout] on google groups.
 
Go to [[mozilla.dev.tech.layout]] on this wiki.
 
  
 
== Authors ==
 
== Authors ==
Line 14: Line 12:
 
== Weekly Summaries ==
 
== Weekly Summaries ==
  
# [[Mozilla.dev.tech.layout_-_Friday_September_29_2006]]
+
# [[Mozilla.dev.tech.layout_-_Friday_September_29_2006| Friday September 29 2006]]
 +
# [http://developer.mozilla.org/en/docs/Layout_FAQ Friday October 6th 2006] - Created FAQ
 +
# [http://developer.mozilla.org/en/docs/Layout_FAQ Friday October 13th 2006] - Updated FAQ - Went back 3 pages into history.
 +
# [[Mozilla.dev.tech.layout_-_Friday_October_13_2006|Friday October 20 2006]]
 +
# [http://developer.mozilla.org/en/docs/Newsgroup_summaries:mozilla-dev-tech-layout:2006-10-27 Friday October 27 2006]
 +
# [http://developer.mozilla.org/en/docs/Newsgroup_summaries:mozilla-dev-tech-layout:2006-11-03 Friday November 3 2006]
 +
# [http://developer.mozilla.org/en/docs/Newsgroup_summaries:mozilla-dev-tech-layout:2006-11-10 Friday November 10 2006]
 +
# [http://developer.mozilla.org/en/docs/Newsgroup_summaries:mozilla-dev-tech-layout:2006-11-17 Friday November 17 2006]
 +
# [http://developer.mozilla.org/en/docs/Newsgroup_summaries:mozilla-dev-tech-layout:2006-11-24 Friday November 24, 2006]
 +
# [http://developer.mozilla.org/en/docs/Newsgroup_summaries:mozilla-dev-tech-layout:2006-12-_02 Saturday December 2, 2006]
 +
# [http://developer.mozilla.org/en/docs/Newsgroup_summaries:mozilla-dev-tech-layout:2006-12-_08 Saturday December 8, 2006]
  
 
== FAQ ==
 
== FAQ ==
  
1. Is there a way to do profiling of what is going on in Mozilla?  Is there a framework for this?  
+
Located on MDC at: [http://developer.mozilla.org/en/docs/Layout_FAQ Layout FAQ]
 +
 
 +
<div class="note">
 +
=== Is there a way to do profiling of what is going on in Mozilla?  Is there a framework for this? ===
 +
 
 +
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 be used. [http://www.mozilla.org/performance/tools.html] also lists some profiles.
 +
</div>
 +
 
 +
<div class="note">
 +
=== How do you find out 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? ===
 +
 
 +
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.
 +
</div>
 +
 
 +
<div class="note">
 +
=== What are the lowercase items called "line"? ===
 +
<pre>
 +
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]
 +
    >
 +
  >
 +
</pre>
 +
The linebox is used to contain everything on a single line: [http://lxr.mozilla.org/seamonkey/source/layout/generic/nsLineBox.cpp#206 Example]
 +
</div>
 +
 
 +
<div class="note">
 +
=== How do you fix inconsistent float behavior in firefox involving a two column layout using display:table and floating div elements? ===
  
A. If you're on Linux, then you can try using jprof.  Instructions  are available at   
+
[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.
[http://lxr.mozilla.org/mozilla/source/tools/jprof/README.html Jprof Readme] On more recent linux versions sysprof can also 
+
</div>
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? ===
+
<div class="note">
 +
=== Why does move movement disappear when I use the mouse events to click and drag? ===
  
A. On the reflow branch you could check the DIRTY and DIRTY_CHILDREN framestate
+
Since the dragging action is involved, you might need to disable it. Try using event.preventDefault()
flags.  That won't help with pending style changes, but it'll work to detect
+
</div>
cases when the popup or something in it needs to be reflown.
 
  
3.  What are the lowercase items called "line"? ===
+
<div class="note">
Block(body)(1)@035FF490 {120,120,8820,600} [state=00000010]
+
=== What is the purpose of the NS_LossyConvertUCS2toASCII() function? ===
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:
 
  [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 ? ===
+
This function converts an nsAString to an nsACString by assuming that all the
 +
16-bit units are ASCII and just dropping the high byte on them all.
 +
</div>
  
A. [https://bugzilla.mozilla.org/show_bug.cgi?id=105520 This is a bug in Firefox.] You can work around it by removing 
+
stopped reading on page 3 of the older link (11-20)
display:table in the style rule with the "#main" selector or adding clear:both to it.
 

Latest revision as of 05:46, 13 December 2006

Newsgroup

Mozilla.dev.tech.layout

Go to Mozilla.dev.tech.layout on google groups.

Authors

  1. Philip Vitorino
  2. Colin Guy

Weekly Summaries

  1. Friday September 29 2006
  2. Friday October 6th 2006 - Created FAQ
  3. Friday October 13th 2006 - Updated FAQ - Went back 3 pages into history.
  4. Friday October 20 2006
  5. Friday October 27 2006
  6. Friday November 3 2006
  7. Friday November 10 2006
  8. Friday November 17 2006
  9. Friday November 24, 2006
  10. Saturday December 2, 2006
  11. Saturday December 8, 2006

FAQ

Located on MDC at: Layout FAQ

Is there a way to do profiling of what is going on in Mozilla? Is there a framework for this?

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.

How do you find out 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?

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.

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]
    >
  > 

The linebox is used to contain everything on a single line: Example

How do you fix inconsistent float behavior in firefox involving a two column layout using display:table and floating div elements?

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.

Why does move movement disappear when I use the mouse events to click and drag?

Since the dragging action is involved, you might need to disable it. Try using event.preventDefault()

What is the purpose of the NS_LossyConvertUCS2toASCII() function?

This function converts an nsAString to an nsACString by assuming that all the 16-bit units are ASCII and just dropping the high byte on them all.

stopped reading on page 3 of the older link (11-20)