Commit Graph

350 Commits

Author SHA1 Message Date
L. David Baron
4dc0e05e53 Share IsPaddingZero between nsBlockFrame and nsInlineFrame by putting it in nsLayoutUtils. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
L. David Baron
3a8af703e8 Add support for calc() to the '{margin,padding}-{top,right,bottom,left}' and '-moz-margin-{start,end}' properties. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
L. David Baron
27905b7abe Don't propagate the float's reflow status through places that expect an inline's reflow status, to avoid the assertion for which bug 563584 was filed. This separates pushing of floats from pushing of lines, and allows first-in-flow floats to be pushed to the next page without their associated line. (Bug 563584, patch 17) r=roc 2010-08-05 21:59:19 -07:00
Mats Palmgren
0bceeb0d43 Bug 570160 - Don't create a next-in-flow for a placeholder frame, split the float instead. r=fantasai 2010-06-29 16:32:03 +02:00
Alexander Surkov
0a6b10381a Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Zack Weinberg
9819bef9dc Bug 494117: Mechanically change 'ReParent' to 'Reparent' throughout the tree. r=bzbarsky 2010-04-01 23:07:43 -07:00
Timothy Nikkel
bb7c82ab9d Bug 537645. When pulling frames try the overflow list before going to the next in flow. r=bzbarsky 2010-01-27 22:12:37 -06:00
Timothy Nikkel
6bd84d46a2 Bug 287088. Stop first-line styling from leaking into second and subsequent lines when a single element is split between first and second lines. r=roc 2009-12-22 17:42:45 -06:00
fantasai
f76a01be55 Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
Mats Palmgren
9b94e15423 Drain overflow frames when the last frame from principal child list is pulled. b=533379 r=bzbarsky 2009-12-18 10:02:26 +01:00
Robert O'Callahan
2381a5ab7c Bug 534366. Make nsFirstLineFrame set InlineReflowState::mLineLayout correctly. r=dbaron 2009-12-16 09:08:59 +13:00
Boris Zbarsky
753175c110 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky
e28191d463 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
03f70fa558 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-10 14:36:05 -08:00
Robert O'Callahan
7aa38b0084 Bug 523468. Make sure we reflow the next line when content is pushed or pulled from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Boris Zbarsky
544e20152e Bug 501847 part 3. Make nsInlineFrame::SelfIsEmpty return false as needed for inlines that are part of an {ib} split, to avoid weird blank lines in the middle of {ib} splits. r=dbaron 2009-09-18 14:00:21 -04:00
Boris Zbarsky
9d09792cd4 Bug 501847 part 2. Make various consumers deal with more than 2 inlines in an {ib} split. r=tn, sr=roc 2009-09-18 14:00:21 -04:00
Robert O'Callahan
178a633332 Backed out changeset 9f5177a978ac 2009-10-27 21:46:18 +13:00
Robert O'Callahan
baa52ae8b0 Bug 523468. Force next line to be reflowed whenever we push or pull children from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
David Zbarsky
aadd6cf119 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Mats Palmgren
f85d73c25c Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
54e643ff5b Bug 233463, patch 3 - Make Destroy/RemoveFrame() methods void and assert that the frame to remove is present. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
6247c7c4c6 Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Zack Weinberg
b6fe8205dd Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
fantasai
138ed48e37 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
70fe082226 Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc 2009-08-31 11:25:35 -07:00
fantasai
1aad05038a Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc 2009-08-31 11:25:35 -07:00
Boris Zbarsky
c95cebf89b Backed out changeset 4aa19414e651 (bug 488249) to fix test orange. 2009-08-24 20:51:57 -04:00
David Zbarsky
630c8fc41e Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Boris Zbarsky
a48b249a35 Bug 508050. Make sure to reparent views when pulling overflows from our prevsibling. r=roc 2009-08-10 10:54:22 -04:00
Boris Zbarsky
23db8f4fa3 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
a8b4b2dc7e Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
f3c6270c7b Bug 504221 part 5. Switch from GetFirstChild to GetChildList (returning an nsFrameList). For now, keep a GetFirstChild shim so callers don't have to be updated. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
2eb38e3023 Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
baa9e8e94d Bug 505482. Make sure to not leave frames on overflow lists when we interrupt reflow. Also fixes bug 478527 and bug 496742. r=roc 2009-07-24 09:32:32 -04:00
Boris Zbarsky
fea84deda7 Bug 492469. Better handling of end margins/borders/padding for frames that end up complete while having both fluid and fixed continuations. r+sr=dbaron 2009-05-13 12:38:58 -04:00
Boris Zbarsky
3f790e3d67 Bug 480452. Make {ib} splits behave the same way with regard to margins, borders, and padding as inline frames that just have a line-break happening inside them do. r+sr=dbaron 2009-05-11 22:04:58 -04:00
Jonathan Kew
ccbd2d2564 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
Robert O'Callahan
6b11cc11e3 Bug 472950. Restrict the lazy-parent-pointer optimization so it isn't used if we already have child frames. r=dbaron 2009-02-07 21:34:27 +13:00
Benjamin Smedberg
0f95227641 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.
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
7a084ac404 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
991a16d8bc 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
Mats Palmgren
eaf9d0afc1 Fix the parent pointer for ::first-letter child frame next-in-flows. b=401042 r+sr=roc 2008-12-07 19:21:40 +01:00
Robert O'Callahan
d97b45fb8e Bug 243519. Rework root element frame construction and the CanvasFrame so that the CanvasFrame is an abs-pos container and the root element frame can be positioned. r=fantasai,sr=dbaron 2008-09-08 20:13:17 +12:00
Robert O'Callahan
26dac5de7f Backing out changesets 75919d3eb3d0 and 14ce7619e9c1 due to test failures 2008-09-07 00:35:20 +12:00
Robert O'Callahan
296840fa17 Bug 243519. Rework root element frame construction and the CanvasFrame so that the CanvasFrame is an abs-pos container and the root element frame can be positioned. r=fantasai,sr=dbaron 2008-09-06 21:35:05 +12:00
Andrew Smith
925ffa073b Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 23:30:25 -07:00
L. David Baron
f51a50d4ed Backed out changeset 9b0b2391485c due to linker errors related to nsStyleStructInlines.h not being included enough. 2008-07-16 22:59:14 -07:00
Andrew Smith
97a13b7ef1 Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 22:18:38 -07:00
351323faba Bug 409331. Instead of QIing to nsBlockFrame in various places, call an nsLayoutUtils method to do it. r+sr=roc 2008-07-14 10:10:23 +12:00