Last Comment Bug 515530 - Merge nsHTMLContainerFrame, nsContainerFrame to one class
: Merge nsHTMLContainerFrame, nsContainerFrame to one class
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Layout (show other bugs)
: unspecified
: All All
: -- enhancement (vote)
: mozilla12
Assigned To: Mats Palmgren (vacation)
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-09-09 17:14 PDT by Mats Palmgren (vacation)
Modified: 2011-12-28 11:08 PST (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
fix (111.20 KB, patch)
2011-12-23 23:17 PST, Mats Palmgren (vacation)
roc: review+
Details | Diff | Splinter Review

Description Mats Palmgren (vacation) 2009-09-09 17:14:10 PDT
Followup from bug 233463 comment 62 --
From  Boris Zbarsky (:bz) 2009-08-25 08:44:30 PDT:

For that matter, I'm not quite sure why we have separate nsHTMLContainerFrame
and nsContainerFrame, but that's also fodder for a separate bug.
Comment 1 Boris Zbarsky [:bz] 2009-09-14 10:25:19 PDT
dbaron, roc, is there a point to having these be separate classes?
Comment 2 Robert O'Callahan (:roc) (Exited; email my personal email if necessary) 2009-09-14 14:28:53 PDT
I don't think so.
Comment 3 Mats Palmgren (vacation) 2011-12-23 23:17:37 PST
Created attachment 584162 [details] [diff] [review]
fix

There was one issue - both nsHTMLContainerFrame, nsContainerFrame
implements BuildDisplayList.  Identically, except nsHTMLContainerFrame
uses DISPLAY_CHILD_INLINE and nsContainerFrame does not.

Investigating all classes that inherit nsHTMLContainerFrame...
   nsHTMLFramesetFrame
   nsInlineFrame
implements BuildDisplayList that explicitly calls nsHTMLContainerFrame::BuildDisplayList
   nsProgressFrame
   nsFirstLetterFrame
does not implement BuildDisplayList

I made the above four have a BuildDisplayList that calls a new (protected)
convenience method BuildDisplayListForInline that implements the
DISPLAY_CHILD_INLINE version.

The remaining derived classes all implements BuildDisplayList but
does not call nsHTMLContainerFrame::BuildDisplayList.
Comment 5 Matt Brubeck (:mbrubeck) 2011-12-28 11:08:47 PST
https://hg.mozilla.org/mozilla-central/rev/7db218a91c88

Note You need to log in before you can comment on or make changes to this bug.