Commit Graph

209 Commits

Author SHA1 Message Date
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
Michael Ventnor
318cfd2e10 Bug 472410. Don't adjust selection colors if the background is a -moz-appearance that we can't know anything about. r+sr=roc 2009-01-09 13:29:38 +13:00
L. David Baron
57a8e776d8 Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
L. David Baron
b3d748ba11 Fix some missed renames from bug 471356. r+sr=bzbarsky 2009-01-04 14:52:38 -05:00
L. David Baron
a5129c520e Fix slight errors when widths can't be round-tripped through floats. (Bug 467141) r+sr=roc 2008-12-04 08:09:53 -08:00
L. David Baron
7aa294ceb7 Remove now-unneeded argument from GetWidthInfo. (Bug 466108) r=dholbert sr=roc 2008-12-04 08:09:52 -08:00
Michael Ventnor
0a7591b341 Bug 453641. Make box-shadow work on tables and table parts. r+sr=roc 2008-12-03 14:20:21 +13:00
Bernd
18e359b826 bug 458924 - activate the DidResizeColumns mechanism when column widths changes in fixed layout. r/sr=dbaron 2008-11-27 18:23:52 -08:00
L. David Baron
17759307a2 Distribute extra space in fixed-layout tables where all columns have widths proportionally rather than equally, for compatibility. (Bug 445142) r=bernd sr=roc a=blocking1.9.1+ 2008-11-25 15:22:39 -08:00
L. David Baron
a5f7856bf5 Back out 6ce5f62a59455c79b3e12414989d3727f283b7c3 due to mac startup failures. 2008-11-25 14:38:06 -08:00
L. David Baron
3cd243672f Distribute extra space in fixed-layout tables where all columns have widths proportionally rather than equally, for compatibility. (Bug 445142) r=bernd sr=roc a=blocking1.9.1+ 2008-11-25 13:27:54 -08:00
L. David Baron
be3321e732 Simplify conditions, part 2, since we're really only trying to avoid IsGeometryDirty if we're not going to need any reflow at all. (Bug 438509) r=dholbert sr=roc a=blocking1.9.1+ 2008-11-25 13:27:53 -08:00
L. David Baron
c0cc02dfd5 Simplify condition, part 1, since mVResize already implies IsGeometryDirty thanks to the code immediately above. (Bug 438509) r=dholbert sr=roc a=blocking1.9.1+ 2008-11-25 13:27:53 -08:00
L. David Baron
3dbd3c34af Avoid exponential growth of special height reflows. (Bug 438509) r=dholbert sr=roc a=blocking1.9.1+ 2008-11-25 13:27:53 -08:00
L. David Baron
58064fc1f3 Remove nsHTMLReflowState::mPercentHeightReflowInitiator, which is write-only. (Bug 438509) r+sr=roc a=blocking1.9.1+ 2008-11-25 13:27:53 -08:00
Robert O'Callahan
a722f955fd Bug 462972 - 'Fix nsChangeHint comparisons'. r=bernd, sr=dbaron 2008-11-04 14:03:14 -08:00
Bernd
4b7f58df3e bug 462849 degenerated colgroups can be empty r/sr=bzbarsky 2008-11-03 19:30:38 +01:00
Robert O'Callahan
e639c5c883 Bug 442304. Don't try to clip table cells in %-overheight situations in quirks mode. (Basically we're just removing a quirk here.) r=bernd,r+sr=dbaron 2008-11-03 14:01:49 +13:00
Bernd
7c0832937a bug 286797 dynamic changes of the border color require a update of the cellmap as there is stored where a new segment starts. This is used by painting. r/sr=bzbarsky 2008-11-02 19:41:35 +01:00
Bernd
62d4cebdde bug 258377 remove inline on PeekStyleData so that it can be called from the layout library r/sr=bzbarsky 2008-11-01 09:52:29 +01:00
Benjamin Smedberg
9696613a50 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
4214b72dd5 Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
dd4c950cff 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
6f6f59a250 mac build bustage disable the code in question 2008-10-26 13:06:28 +01:00
Bernd
d84cc10e42 trying to fix mac burning 2008-10-26 11:56:39 +01:00
Bernd
6777c42861 bug 258377, make border collapsed tables to listen for dynamic border style changes r/sr=bzbarsky 2008-10-26 11:11:34 +01:00
Bernd
b17b2cbcd4 bug 360422 remove obsolete code r/sr=bzbarsky 2008-10-26 10:24:59 +01:00
Bernd
f08db4eb5c bug 451170, avoid hanging by going to the next frame instead of quering the same frame again. r/sr=bzbarsky 2008-10-26 10:20:42 +01:00
Robert O'Callahan
85ea5a3965 Bug 460240. Need to repaint the overflow area if the overflow area changes, the frame has effects/outline/box-shadow, and the frame size has not changed. r+sr=bzbarsky 2008-10-21 20:42:28 +13:00
Mats Palmgren
d7a5093ec9 Subtract the row index from the row count, not the col count. b=284852 r=bernd sr=bzbarsky 2008-10-19 10:25:14 +02:00
Bernd
ffc4c848b4 trigger fixed layout if the width cahnges from auto to fixed, bug 426629r/sr=dbaron 2008-10-18 19:25:26 +02:00
Jesse Ruderman
cff82b676c Add bug 370897 crashtest 2008-10-16 14:49:40 -07:00
Mats Palmgren
f4da1f1107 Regression test for bug 300912. 2008-10-13 01:53:44 +02:00
Arpad Borsos
8b11d938d2 Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan 2008-10-10 17:04:34 +02:00
Bernd
316d5ec8e1 add comment for bug 76331 as requested by the reviewer 2008-09-27 13:25:28 +02:00
Bernd
7988560536 use the right method to insert more than one frame, bug 456041 r/sr=bzbarsky 2008-09-27 13:07:29 +02:00
Zack Weinberg
a64209d05b Bug 456792 - Two more API cleanups for nsCSSRendering; patch 1; r+sr=roc 2008-09-25 17:53:27 +02:00
L. David Baron
bb1dbb4eec For fixed-layout tables, leave room for the cell spacing for all columns, whether they have cells originating in them or not, since we don't know if cells for those columns will arrive as the table loads incrementally. (Bug 444928) r=bernd sr=roc 2008-09-24 10:14:35 -07:00
Zack Weinberg
7687ccc76b Bug 456152 - slight API cleanup for nsCSSRendering::PaintBackground; r+sr=roc 2008-09-24 06:07:22 +02:00
Bernd
5afcd8c5a4 make sure that the height from a fixed height tbody gets distributed, bug 439639, r=dholbert, sr=roc 2008-09-20 11:30:30 +02:00
Robert O'Callahan
f79290bb0e Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron 2008-09-18 21:47:21 +12:00
Bernd
3df8e64982 CSS 2.1 empty-cell handling of the excotic cases, bug 76331, r/sr=roc 2008-09-13 16:38:29 +02:00
L. David Baron
b4d9cdbfa1 Convert border spacing storage from nsStyleCoord to nscoord. (Bug 443057) r+sr=bzbarsky 2008-09-12 20:45:37 -07:00
Zack Weinberg
0f68a207ca Bug 453916: treat transparency strictly as a special case of color alpha. r+sr=dbaron 2008-09-12 08:35:53 -07:00
Ted Mielczarek
468a3823fc bug 447642 - get rid of --disable-mochitest, replace MOZ_MOCHITEST with ENABLE_TESTS. r=bsmedberg 2008-09-09 13:59:11 -04:00
Graeme McCutcheon
b6ce570b3c Bug 451252 - "Highlight All" find selection not visible in elements that have -moz-user-select: none set; r+sr=roc 2008-09-07 16:12:50 +02:00
Jesse Ruderman
c8a8a43522 Add bug 392132's testcase as a crashtest 2008-09-06 22:37:29 -07:00
Bernd
321a788704 CSS 2.1 compliance empty-cells does not apply in border-collapsed tables, initial patch by William Wedin, bug 392047, r/sr=roc 2008-08-26 09:59:34 +02:00