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

From CDOT Wiki
Jump to: navigation, search
(FAQ)
(Weekly Summaries)
 
(35 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
== Newsgroup ==
 
== Newsgroup ==
  
Newsgroup name goes here...
+
Mozilla.dev.tech.layout
 +
 
 +
Go to [http://groups.google.com/group/mozilla.dev.tech.layout Mozilla.dev.tech.layout] on google groups.
  
 
== Authors ==
 
== Authors ==
Line 10: 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]]
# [[Mozilla.dev.tech.layout_-_Friday_October_6_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?
 
  
  A. If you're on Linux, then you can try using jprof.  Instructions  are available at     
+
Located on MDC at: [http://developer.mozilla.org/en/docs/Layout_FAQ Layout FAQ]
[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 class="note">
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?
+
=== 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? ===
 +
 
 +
[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.
 +
</div>
 +
 
 +
<div class="note">
 +
=== 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()
 +
</div>
  
A. On the reflow branch you could check the DIRTY and DIRTY_CHILDREN framestate
+
<div class="note">
flags.  That won't help with pending style changes, but it'll work to detect
+
=== What is the purpose of the NS_LossyConvertUCS2toASCII() function? ===
cases when the popup or something in it needs to be reflown.
 
  
3.  What are the lowercase items called "line"? I don't see it
+
This function converts an nsAString to an nsACString by assuming that all the  
when I do frame->GetFirstChild(nsnull) from the block/body item.
+
16-bit units are ASCII and just dropping the high byte on them all.
 +
</div>
  
Block(body)(1)@035FF490 {120,120,8820,600} [state=00000010]
+
stopped reading on page 3 of the older link (11-20)
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]
 

Latest revision as of 06: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)