Commit Graph

119 Commits

Author SHA1 Message Date
Zack Weinberg
54ad0fb73a Bug 494117: Mechanically change 'ReParent' to 'Reparent' throughout the tree. r=bzbarsky 2010-04-01 23:07:43 -07:00
Timothy Nikkel
5784631b01 Bug 537645. When pulling frames try the overflow list before going to the next in flow. r=bzbarsky
--HG--
extra : rebase_source : 9fb2098251970e60c8f24da58519b62af7b051d1
2010-01-27 22:12:37 -06:00
Timothy Nikkel
01699b9589 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
--HG--
extra : rebase_source : 0dcf9009a73d5f8082c09172f4ce6840be5e6c98
2009-12-22 17:42:45 -06:00
fantasai
1ffb0c06ef 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
f24b74cefd 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
b228105b93 Bug 534366. Make nsFirstLineFrame set InlineReflowState::mLineLayout correctly. r=dbaron 2009-12-16 09:08:59 +13:00
Boris Zbarsky
99027aa785 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
e9f228c7d5 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
0a82b262db 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
40e5fe01a0 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
96fabdfabd 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
a443ed8d78 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
28cab8ef6c Backed out changeset 9f5177a978ac 2009-10-27 21:46:18 +13:00
Robert O'Callahan
d6f331fed2 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
8d8553ee41 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Mats Palmgren
4e06ef038e Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
7ca7fe2f91 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
8279fd683e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Zack Weinberg
17eb5a6efc 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
d5c48032c3 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
973c4e83aa 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
01a3a6c947 Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc 2009-08-31 11:25:35 -07:00
Boris Zbarsky
36622c6995 Backed out changeset 4aa19414e651 (bug 488249) to fix test orange.
--HG--
extra : rebase_source : ae1c0155ec32b0887eff27ded77c6ba2b37dda64
2009-08-24 20:51:57 -04:00
David Zbarsky
932e28482f Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Boris Zbarsky
37602b8380 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
f2936464e5 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
5fefb45a48 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
db6ff446ab 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
b0259fd19b Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
fa8b53c57c 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
4062b17b73 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
70c31886f4 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
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
Robert O'Callahan
b3824840d3 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
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
Mats Palmgren
d188234a59 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
cddb22d87c 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
ea7596e60c Backing out changesets 75919d3eb3d0 and 14ce7619e9c1 due to test failures 2008-09-07 00:35:20 +12:00
Robert O'Callahan
f7339a0460 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 ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
49c9b3d67e Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 23:30:25 -07:00
L. David Baron
9e4ceade8e 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 ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
bb4be48531 Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 22:18:38 -07:00
Karuna (karunasagark@gmail.com)
22a214272c 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
masayuki@d-toybox.com
821cf1156c Bug 417014 Need blacklist system for underline offset adjusting of CJK fonts which have wrong underline offset r=roc+stuart, sr=roc, b1.9=stuart 2008-03-12 19:36:58 -07:00
dbaron@dbaron.org
7003061847 Fix the weird Get* API on nsStyleSides in favor of returning structs by value, to avoid further occurrences of bug 420069. b=420069 r+sr=roc a=beltzner 2008-03-05 16:05:26 -08:00
masayuki@d-toybox.com
cb5c20d581 Bug 392785 overflowed underline sometimes is not repainted at scrolling r+sr=roc b1.9=dbaron 2008-02-16 07:31:27 -08:00
dbaron@dbaron.org
18cb1751a3 Remove unused height output from nsLineLayout::EndSpan. b=407086 r+sr=roc a=dsicore 2007-12-12 13:51:18 -08:00
dbaron@dbaron.org
67bbbda580 Remove some code that handles unconstrained widths (and fix nsFirstLetterFrame not to pass them). b=407086 r+sr=roc a=dsicore 2007-12-12 13:51:00 -08:00
roc+@cs.cmu.edu
3d895dcd14 Bug 405577. Allow available width to go negative for inlines/text, so we can tell whether zero-width content fits or not. Also allow textframes to honour a forced break at the end of the text. r+sr=dbaron 2007-12-05 17:24:03 -08:00
dmose@mozilla.org
a7aaa3bf1f Backing out fix for bug 392785 as per roc + mconnor. 2007-12-04 15:32:08 -08:00
masayuki@d-toybox.com
db9a1f0734 Bug 392785 overflowed underline sometimes is not repainted at scrolling r+sr=roc, b1.9=dbaron 2007-12-02 22:51:57 -08:00
roc+@cs.cmu.edu
32b36ae07b Bug 397518. Wrap inline non-MathML children of MathML frames in anonymous blocks. r+sr=bzbarsky 2007-10-12 01:30:54 -07:00
fantasai.cvs@inkedblade.net
678b52fb1e fix use of DEBUG-only data member, bug=154892 r+sr+a=roc 2007-10-02 01:29:23 -07:00
fantasai.cvs@inkedblade.net
2456fd7a33 paginate absolutely-positioned elements, b=154892 r+sr=roc a=roc 2007-10-01 22:57:45 -07:00
masayuki@d-toybox.com
a17a03f2ea Bug 392252 need new APIs for converting AppUnits to gfx usable pixels r=sharparrow1, sr+a=roc 2007-08-22 04:13:46 -07:00
masayuki@d-toybox.com
5dcd053a56 Bug 365414 overflowed decoration lines are not erased/painted r+sr=roc 2007-08-14 09:39:54 -07:00
jwalden@mit.edu
96470d6e9b Bug 386801 - nsAbsoluteContainingBlock doesn't need to store a child list name; this shaves four bytes off nsViewportFrame, nsBlockFrame, and nsPositionedInlineFrame. r+sr+a=dbaron 2007-08-02 15:44:36 -07:00
roc+@cs.cmu.edu
61373b8418 Bug 379349. Add support for 'overflow containers' --- special frame continuations that do not map any content of their own, but serve only as containers for laying out children that overflowed their parents' content height. patch by fantasai, r+sr=eli,roc 2007-07-25 21:03:29 -07:00
asqueella@gmail.com
cb307ac952 fix bug 388709 - "ASSERTION: Please remove this from the document properly: '!IsInDoc()'" with :after, floating :first-letter
Store the generated content as a nsCOMArray<nsIContent>* property on frames to make its clean-up on frame destruction less fragile.

r+sr=roc
2007-07-23 16:31:11 -07:00
roc+@cs.cmu.edu
4d86f10253 Bug 346405. Handle reparenting of empty float lists. r+sr=dbaron 2007-07-18 21:32:08 -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
mats.palmgren@bredband.net
db689821bf Cleanup implementations of QueryInterface. b=385750 r+sr=dbaron r+sr=jst 2007-07-03 19:15:31 -07:00
dbaron@dbaron.org
6becb79be4 Remove now-unneeded checks for eStyleUnit_Null. b=379741 r+sr=bzbarsky 2007-05-10 23:02:31 -07:00
dbaron@dbaron.org
79c8ea4796 Remove special handling of empty continuations, which should no longer be needed. b=238473 Based on patch by Hideo Saito <saito@densan.co.jp>. r=dbaron sr=roc 2007-05-05 10:06:04 -07:00
bzbarsky@mit.edu
64c3e5df8a Make computed style handle eStyleUnit_Chars. Bug 371043, r+sr=dbaron 2007-05-04 23:09:50 -07:00
roc+@cs.cmu.edu
2eec67fef4 Bug 368863. Reparent floats properly when placeholders move between inline continuations. r+sr=dbaron 2007-04-20 17:42:58 -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