Commit Graph

21 Commits

Author SHA1 Message Date
Jonathan Kew
bdab93a7ca Bug 475968. Eliminate NS_FRAME_OUTSIDE_CHILDREN flag, store small overflow areas cheaply within the frame. r+sr=roc 2009-04-06 12:31:50 +12:00
Benjamin Smedberg
24e7cb1f78 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
50621e4f9f Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
d0b948876f Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
L. David Baron
6ec0884f32 Remove bogus assertion. (Bug 470063) r+sr=roc 2008-12-23 09:06:56 -05:00
L. David Baron
3e5f6435ab Move wrapping of blocks inside XUL into ProcessChildren to catch more callers. (Bug 421203) r+sr=roc a=blocking1.9.1+
--HG--
rename : layout/reftests/bugs/321402-3.xul => layout/reftests/bugs/421203-3.xul
rename : layout/reftests/bugs/321402-4.xul => layout/reftests/bugs/421203-4.xul
rename : layout/reftests/bugs/321402-5.xul => layout/reftests/bugs/421203-5.xul
rename : layout/reftests/bugs/321402-6.xul => layout/reftests/bugs/421203-6.xul
2008-12-16 16:30:31 -08:00
fantasai.cvs@inkedblade.net
d4dc37580f switch GetOverflowAreaProperty callers to GetOverflowRect b=417116 r+sr=roc a=roc 2008-02-19 23:08:55 -08:00
reed@reedloden.com
693a20ed32 Bug 366531 - "deCOMtaminate nsBox.h [BoundsCheck()]" [p=ldx@users.sourceforge.net (Lorenzo Dieryckx) r+sr=roc a1.9=damons] 2008-01-04 21:49:44 -08:00
enndeakin@sympatico.ca
f6cf153b88 Bug 407601, use preferred size when calculating popup position and size instead of current size, fixes extraneous layouts and scrolling position changes, r+sr=bz,a=shrep 2007-12-19 08:37:32 -08:00
mats.palmgren@bredband.net
895714e955 Call WillDestroyFrameTree() before destroying the frame tree in ReconstructDocElementHierarchyInternal() because we have cleared the placeholder map etc at this point and we don't want RemoveMappingsForFrameSubtree() to mess with it. Also, remove the RemoveMappingsForFrameSubtree() call that was added in bug 372685 which was wrong since all the frames on a popupset's ::popupList are out-of-flows that are reachable (directly or indirectly) from a normal flow placeholder. b=398982 r+sr=bzbarsky a=dsicore 2007-10-23 17:02:26 -07:00
mats.palmgren@bredband.net
b1ecdb8588 Call RemoveMappingsForFrameSubtree() before destroying an "internal" popup frame. b=372685 r+sr=bzbarsky blocking1.9=dsicore 2007-10-06 06:53:05 -07:00
enndeakin@sympatico.ca
7184c14bb0 Bug 387131, tooltip extends offscreen, r+sr+a=bz 2007-08-21 12:28:58 -07:00
jwalden@mit.edu
e3c4baccae Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
enndeakin@sympatico.ca
6c8197be5f Bug 279703, rework XUL popups to use asynchronous opening, plus many other fixes, attempt 2 with creating widgets later, r=bz,neil,roc,sr=bz 2007-07-04 08:49:38 -07:00
mats.palmgren@bredband.net
bf430d8c33 Fix crash [@ nsPopupSetFrame::Destroy]. b=384877 r=enndeakin sr=roc 2007-07-03 14:16:48 -07:00
enndeakin@sympatico.ca
95deb19d78 Bug 279703, backing out the popup changes due to performance regressions. sigh. 2007-06-29 15:15:59 -07:00
enndeakin@sympatico.ca
6c59f4a6d3 Bug 279703, rework XUL popups to use asynchronous opening, plus many other fixes, r=bz,neil,sr=bz 2007-06-29 12:04:45 -07:00
bzbarsky@mit.edu
3cb4bc9240 Change the FrameNeedsReflow API to pass the dirty flags to be added directly tothe method, instead of setting them before calling the method. That way we canavoid reflowing the ancestor of a reflow root which is not itself dirty but hasdirty children. This also makes it harder to set dirty bits inconsistentlywith the FrameNeedsReflow call. Bug 378784, r+sr=dbaron, pending rbs' reviewon the mathml parts. 2007-05-06 12:16:51 -07:00
bzbarsky@mit.edu
2fd17c94d8 Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc. 2007-03-30 14:11:41 -07:00
Olli.Pettay@helsinki.fi
cf1ccace7f 375196, r+sr=roc 2007-03-25 22:38:22 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00