Commit Graph

250 Commits

Author SHA1 Message Date
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
df9eadc79b Bug 484448. Fix handling of whitespace kids of table-related frames. r=bernd, sr=roc 2009-04-08 12:56:16 -04:00
Boris Zbarsky
ab4638fb35 Backed out changeset 0ea22856b5d9 (bug 484448). 2009-04-08 15:56:43 -04:00
Boris Zbarsky
89b6d633ea Bug 484448. Fix handling of whitespace kids of table-related frames. r=bernd, sr=roc 2009-04-08 12:56:16 -04: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
Benjamin Smedberg
f2c9a5bafb 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
30915057bb Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
f0a65beeac 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
9ef8b0cecd 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
fa5f0d0a80 Bug 423823. Clip overflowing background when tbody is scrollable. r=fantasai,sr=dbaron 2008-08-16 21:10:29 +12:00
Robert O'Callahan
62fabc078c 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
d46b8fe28d Whitespace-only change: clean up parameter indentation in nsTableRowGroupFrame 2008-04-02 14:52:04 -07:00
c5fff65119 Invalidate tables a little harder. Bug 421632, r+sr=roc 2008-03-16 13:32:48 -07:00
dedc2f4358 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
8c000d2f14 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
49e32902e4 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
e46c4584ed 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
7334d31070 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
2da748b9c2 Bug 177805: Fix the use of units in Gecko. r+sr=roc 2007-02-07 07:46:44 +00:00
cvshook@sicking.cc
e80f1dba4e 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
5e1785510c Remove nsTableFrame::GetBorderPadding and related code. b=367458 r=bernd sr=roc 2007-01-27 22:22:24 +00:00
dbaron@dbaron.org
13db671d0b 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
d21cb374bd 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
2c52178879 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
cb671c1899 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
54d3415318 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
79c7894a78 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
c7b4ceaaab 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
a1b6a30f14 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
3f3760cf08 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
2a82ee651e 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
5d1b988569 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
35574fcff9 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
9e69ad849c 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
790d748ff6 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
ab8be2367d 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
f40ef13c32 remove unused prescontext from PlaceFrameView, PlaceChildsView, ConsiderChildOverflow bug 276092 r/sr=dbaron 2004-12-27 15:05:18 +00:00
bryner@brianryner.com
6cde4639f0 Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
bmlk@gmx.de
aa51836ca8 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
a1ec040a65 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
dbaron@dbaron.org
92743fad12 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
7ebe25986f 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
cc9079df1c 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
8459e03c4a remove unneccesary prescontext arguments bug 230923 r/sr=roc 2004-01-18 10:28:40 +00:00
bryner@brianryner.com
a90ec6ff21 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
4fc4723244 Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky 2003-10-31 20:19:18 +00:00
uid502
91e7029c77 Bug 190735. Final patch for deCOMtamination of core nsIFrame methods! rs=dbaron 2003-09-23 17:05:29 +00:00
bmlk@gmx.de
474757012f overflow area implementation for table frames, bug 173277 r=jkeiser sr=dbaron 2003-09-13 16:26:30 +00:00