nsCSSFrameConstructor doesn't really need to have an XPCOM interface. There's exactly 1 place where it's currently used from outside layout, and that's easily solved by making an existing PresShell method public.
Created attachment 139211 [details] [diff] [review] patch - Remove nsIStyleFrameConstruction and nsICSSFrameConstructor, changed nsCSSFrameConstructor methods to non-virtual. Made some of the methods protected that didn't need to be public. - Put ReconstructFrames onto nsIPresShell. - Move StyleSet destruction to PresShell dtor, in an attempt to not regress bug 100270 (I don't believe any layout objects are held onto by the FrameConstructor, so it shouldn't matter when it's destroyed) - Cleaned up the xbl form prefs so that we only check once, not every time a frame constructer is created.
Comment on attachment 139211 [details] [diff] [review] patch You'll have a little merging to do (|RestyleElement| was added, and it should be listed in the header near RestyleLaterSiblings (so it's protected)).
Status: NEW → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.