Commit Graph

149 Commits

Author SHA1 Message Date
Boris Zbarsky
0b5e6a2535 Bug 484448. Fix handling of whitespace kids of table-related frames. r=bernd, sr=roc
--HG--
rename : layout/reftests/table-anonymous-boxes/white-space-1.html => layout/reftests/table-anonymous-boxes/white-space-7.html
2009-04-08 12:56:16 -04:00
Boris Zbarsky
330653be70 Backed out changeset 0ea22856b5d9 (bug 484448). 2009-04-08 15:56:43 -04:00
Boris Zbarsky
9fffe6f817 Bug 484448. Fix handling of whitespace kids of table-related frames. r=bernd, sr=roc
--HG--
rename : layout/reftests/table-anonymous-boxes/white-space-1.html => layout/reftests/table-anonymous-boxes/white-space-7.html
rename : layout/reftests/table-anonymous-boxes/white-space-1-ref.html => layout/reftests/table-anonymous-boxes/white-space-ref.html
2009-04-08 12:56:16 -04:00
Benjamin Smedberg
3498a5f86e 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
73a6fab34b 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
802d1a10c7 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
Benjamin Smedberg
ae14b3d6aa Relanding bug 461410 - nsILineIterator is never used outside of layout - set nsresults to replicate the existing code more correctly, which fixes the mochitest failures, r+sr=roc with nits noted by Mats Palmgren 2008-10-30 12:17:59 -07:00
Benjamin Smedberg
292d44b1a8 Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
87c2e7ef23 Bug 461410 - nsILineIterator is never used outside of layout, and doesn't need to be refcounted: the callers can just destroy it when they're done with it. We can't do this with a virtual destructor, however, because nsTableRowGroupFrame implements the interface directly, while nsLineIterator is a separately-allocated class. So clients are expected to call DisposeLineIterator when they're done with it.
Instead of accessing nsILineIterator using QueryInterface, we add a nsIFrame::GetLineIterator API, which is cleaner and more efficient all at the same time!

r+sr=roc
2008-10-28 00:47:19 -04:00
Bernd
867fdf2cb0 bug 258377, make border collapsed tables to listen for dynamic border style changes r/sr=bzbarsky 2008-10-26 11:11:34 +01:00
Robert O'Callahan
a1ceff3005 Bug 423823. Clip overflowing background when tbody is scrollable. r=fantasai,sr=dbaron 2008-08-16 21:10:29 +12:00
Robert O'Callahan
7644127121 Bug 444688. Use an IsFrameOfType check instead of a frame state bit to detect whether a frame excludes ignorable whitespace children. r+sr=dbaronlayout 2008-07-14 10:41:18 +12:00
dholbert@cs.stanford.edu
d7da1fc323 Whitespace-only change: clean up parameter indentation in nsTableRowGroupFrame 2008-04-02 14:52:04 -07:00
bzbarsky@mit.edu
a102045045 Invalidate tables a little harder. Bug 421632, r+sr=roc 2008-03-16 13:32:48 -07:00
bmlk@gmx.de
78f5dfdab1 make the lineiterator interface for tables a little more sane bug 388700 r/sr=roc a=mtschrep 2008-02-20 12:22:18 -08:00
bmlk@gmx.de
1797043034 document the lineiterator interface and all its current flaws. Make :GetNextSiblingOnLine more efficient. bug 388700 r/sr=roc a=mtschrep 2008-02-09 09:10:58 -08:00
bzbarsky@mit.edu
3a6834eaac Fix bug 416073: invalidate more things as needed during table reflow to prevent glitches. r+sr=roc 2008-02-08 01:36:32 -08:00
bmlk@gmx.de
002b0db04d when splitting rowgroups the space that is left on the page is computed from relative to the bottom, bug 373400 r=sharparrow1 sr=dbaron a=blocking 1.9+ 2007-12-02 11:19:00 -08:00
benjamin@smedbergs.us
baab01ada6 Bug 376636 - Building with gcc 4.3 and -pendatic fails due to extra semicolons, patch by Art Haas <ahaas@airmail.net>, rs=me 2007-04-23 07:21:53 -07:00
sharparrow1%yahoo.com
76a64e5c22 Bug 177805: Fix the use of units in Gecko. r+sr=roc 2007-02-07 07:46:44 +00:00
cvshook%sicking.cc
a39ff30284 Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128 2007-01-30 00:06:41 +00:00
dbaron%dbaron.org
d8805141a6 Remove nsTableFrame::GetBorderPadding and related code. b=367458 r=bernd sr=roc 2007-01-27 22:22:24 +00:00
dbaron%dbaron.org
d5af630c22 Better API for used padding/border/margin: remove deprecated Calc*For on nsStyleStructs and add GetUsed* to nsIFrame. b=332922 r+sr=roc 2006-12-13 23:04:57 +00:00
dbaron%dbaron.org
31f1898810 Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213. 2006-12-08 05:38:33 +00:00
roc+%cs.cmu.edu
c5f6e4e0b1 Bug 241796. Use a row cursor to speed up painting and event handling in large tables, similar to what we do for large blocks already. r+sr=bzbarsky 2006-09-19 21:39:33 +00:00
bmlk%gmx.de
d4f3eadccd take special care when tfoot are manipulated and the cellmap changes rather drastical bug 343087 r/sr=bzbarsky 2006-08-04 19:15:50 +00:00
roc+%cs.cmu.edu
0a10a79f62 Bug 330934. Set a nsIFrame's stylecontext in its constructor, to ensure that there's always one available for GetPresContext() to use even if Init hasn't been called. Patch by Marc Liddell, r+sr=roc 2006-03-26 21:30:36 +00:00
roc+%cs.cmu.edu
c2801ebbd7 Bug 328926. Remove aPresContext from nsIFrame::Init and nsIFrame::DidSetStyleContext. r+sr=roc, patch by Marc Liddell 2006-03-09 18:55:21 +00:00
bmlk%gmx.de
20b85ffac2 Make visibility:collapse work again after the display list change. Implement overflow handling and view synchronization for collapsed frames. bug 326551 r/sr=roc 2006-03-04 05:26:57 +00:00
roc+%cs.cmu.edu
77bca74243 Bug 317375. Reorganize frame painting and mouse event targeting around frame display lists. Some review from dbaron, lots of testing help from Martijn, Julien and others 2006-01-26 02:29:17 +00:00
bmlk%gmx.de
ef5d2c73ea use scaledpixels to convert from CSS pixels to realword pixels bug=307367 r/sr=roc 2006-01-21 09:54:07 +00:00
roc+%cs.cmu.edu
520b30a7f7 Bug 313817. DeCOMtaminate more NS_New*Frame functions. r+sr=roc, patch by Marc Liddell 2005-11-04 02:38:33 +00:00
roc+%cs.cmu.edu
fed343c43a Bug 108310. Make GetFrameForPoint take frame-relative coordinates, not bogus relative-to-some-view-or-other, and simplify the signature. r+sr=roc, patch by Eli Friedman. 2005-09-19 02:15:54 +00:00
timeless%mozdev.org
b4d01d069d Bug 277553 clicking on Textarea with a RTL direction doesnt work
patch by uriber@gmail.com r=bz sr=bz a=bsmedberg
2005-08-02 21:55:55 +00:00
bzbarsky%mit.edu
54d585f2af Remove prescontext args for some nsIFrame methods
(Append/Insert/Remove/ReplaceFrames) and for some methods in table land.  Patch
by Vidar Braut Haarr <bugmail@q1n.org>, r+sr=bzbarsky
2005-02-07 01:58:25 +00:00
mats.palmgren%bredband.net
92858c988e Don't page-break before or after a repeated frame. b=278983 r+sr=bzbarsky 2005-02-05 04:23:52 +00:00
neil%parkwaycc.co.uk
74e2aa375a Bug 276100 GetOriginToView has unused PresContext argument p=bugmail@q1n.org r+sr=dbaron 2005-01-01 17:26:29 +00:00
bmlk%gmx.de
ca3e9f85c3 remove unused prescontext from PlaceFrameView, PlaceChildsView, ConsiderChildOverflow bug 276092 r/sr=dbaron 2004-12-27 15:05:18 +00:00
bryner%brianryner.com
5c02a6978c Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
bmlk%gmx.de
f5904c3c32 remove special handling for rows with rowspans as table frames report now the overflow area. bug 240275 r/sr=roc 2004-04-26 17:56:48 +00:00
gerv%gerv.net
708b56cff4 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
dbaron%dbaron.org
41c16857c2 DeCOMify nsIFrame::IsPercentageBase and rename to IsContainingBlock. b=237169 r+sr=bzbarsky a=brendan 2004-03-12 04:40:17 +00:00
bmlk%gmx.de
ea9e726b8b implement standards compliant (CSS2.1) table background rendering patch by fantasai@escape.com r=bernd sr=bz, dbaron 2004-03-09 06:48:35 +00:00
dbaron%dbaron.org
26521d3245 Table rows/cols and groups don't paint their backgrounds, so CanPaintBackground must return false. b=236053 r+sr=roc 2004-03-01 08:17:59 +00:00
bmlk%gmx.de
a217311c27 remove unneccesary prescontext arguments bug 230923 r/sr=roc 2004-01-18 10:28:40 +00:00
bryner%brianryner.com
e65d2d2fe5 Eliminate nsIStyleSet as an XPCOM interface, making the implementation internal to layout. Frame constructor ownership moves to the pres shell, and the style set methods that forward to the frame constructor are gone. Rewrote style set sheet add/remove to reduce code size. For more details, see bug 64116. r+sr=dbaron. 2004-01-07 22:30:53 +00:00
uid502
d81619b4fa Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky 2003-10-31 20:19:18 +00:00
uid502
1cfabd35d3 Bug 190735. Final patch for deCOMtamination of core nsIFrame methods! rs=dbaron 2003-09-23 17:05:29 +00:00
bmlk%gmx.de
9c62c67b67 overflow area implementation for table frames, bug 173277 r=jkeiser sr=dbaron 2003-09-13 16:26:30 +00:00
dbaron%dbaron.org
6dd68f3c64 Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst 2003-02-22 15:34:38 +00:00