2006-09-29

Summary: mozilla.dev.tech.layout September 22-29, 2006

Announcements

No announcements for this week.

Discussions

  • Discussion on how the Firefox 1.5.0.7 DOM generates XHTML inline elements using Wordpress. It was determined that the generated elements from Wordpress do not follow the WC3 guidelines in appendix C of XHTML 1.0. Although the W3 validation accepted the generated XHTML as valid, a bug identified within the HTML Working Group ignored the invalid elements. Details can be located at layout confusion
  • Refactoring the nsHTMLReflowState(ComputeBlockBoxData, InitConstraints) and nsImageFrame::GetDesiredSize which uses NS_INRINSICSIZE, into the following method:
/**
   * Compute the size that a frame will occupy.  Called while
   * constructing the nsHTMLReflowState to be used to Reflow the frame,
   * in order to fill its mComputedWidth and mComputedHeight member
   * variables.
   *
   * The |height| member of the return value may be
   * NS_UNCONSTRAINEDSIZE, but the |width| member must not be.
   *
   * @param aAvailWidth  The available width into which the element is
   *                     being placed (i.e., the width of its containing
   *                     block).
   * @param aMargin  The sum of the left and right margins of the
   *                 frame, including actual values resulting from
   *                 percentages, but not including actual values
   *                 resulting from 'auto'.
   * @param aBorder  The sum of the left and right border widths of the
   *                 frame.
   * @param aPadding  The sum of the left and right margins of the
   *                  frame, including actual values resulting from
   *                  percentages.
   * @param aShrinkWrap  Whether the frame is in a context where
   *                     non-replaced blocks should shrink-wrap (e.g.,
   *                     it's floating, absolutely positioned, or
   *                     inline-block).
   */
  virtual nsSize ComputeSize(nscoord aAvailWidth, nscoord aMargin,
                             nscoord aBorder, nscoord aPadding,
                             PRBool aShrinkWrap) = 0;

Details can be located at refactoring some of nsHTMLReflowState.
  • Discussion on how to determine whether there is pending layout changes or reflows when using a popup. It was concluded that a frame model change is utilized within a popup, not a layout change. On the reflow branch, 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. Details can be located at frame reflow
  • Issues related to the ongoing implementation of MathML-in-HTML into Mozilla, which include:
    • Exposing the MathML implementation to tag soup.
    • CSS Matching rules.
Details can be located at MathML-in-HTML5

Meetings

No meetings for this week.