Commit Graph

1566 Commits

Author SHA1 Message Date
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
Michael Ventnor
1766ffca05 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
ad5d856ae6 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
4872871d0b Fix some missed renames from bug 471356. r+sr=bzbarsky 2009-01-04 14:52:38 -05:00
L. David Baron
e3204bb21a 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
8408879a60 Remove now-unneeded argument from GetWidthInfo. (Bug 466108) r=dholbert sr=roc 2008-12-04 08:09:52 -08:00
Michael Ventnor
a7a868b681 Bug 453641. Make box-shadow work on tables and table parts. r+sr=roc 2008-12-03 14:20:21 +13:00
Bernd
bc86ffbed0 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
798ff29d8c 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
114a60a7ec Back out 6ce5f62a59455c79b3e12414989d3727f283b7c3 due to mac startup failures. 2008-11-25 14:38:06 -08:00
L. David Baron
385a0411a4 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
45ee791f57 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
3ccddbc00c 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
986cb9a310 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
f4b906eed7 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
d3c750c6de Bug 462972 - 'Fix nsChangeHint comparisons'. r=bernd, sr=dbaron 2008-11-04 14:03:14 -08:00
Bernd
aa06438c13 bug 462849 degenerated colgroups can be empty r/sr=bzbarsky 2008-11-03 19:30:38 +01:00
Robert O'Callahan
f6cba6e4bb 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
cbc80e7812 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
c4a59526d4 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
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
470cc59a44 mac build bustage disable the code in question 2008-10-26 13:06:28 +01:00
Bernd
1359cad703 trying to fix mac burning 2008-10-26 11:56:39 +01: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
Bernd
2fd04858fe bug 360422 remove obsolete code r/sr=bzbarsky 2008-10-26 10:24:59 +01:00
Bernd
0ba7b200b4 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
bc51ece93b 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
268bc39709 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
7ae43293e0 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
efecec453c Add bug 370897 crashtest 2008-10-16 14:49:40 -07:00
Mats Palmgren
76257879bd Regression test for bug 300912. 2008-10-13 01:53:44 +02:00
Arpad Borsos
c72ef7d248 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
ec250c005f add comment for bug 76331 as requested by the reviewer 2008-09-27 13:25:28 +02:00
Bernd
28f6e7c3b3 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
473726ed0c Bug 456792 - Two more API cleanups for nsCSSRendering; patch 1; r+sr=roc 2008-09-25 17:53:27 +02:00
L. David Baron
3347434086 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
97bef90839 Bug 456152 - slight API cleanup for nsCSSRendering::PaintBackground; r+sr=roc 2008-09-24 06:07:22 +02:00
Bernd
3e3991e26d 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
775dd33c74 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
ecc3d8a9b7 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
9272a92fdf Convert border spacing storage from nsStyleCoord to nscoord. (Bug 443057) r+sr=bzbarsky 2008-09-12 20:45:37 -07:00
Zack Weinberg
0299bad5bb 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
ff7706a544 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
bc94c13609 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
6a8ceff67c Add bug 392132's testcase as a crashtest 2008-09-06 22:37:29 -07:00
Bernd
40afc5fe69 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