gecko-dev/layout/forms
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
..
crashtests Bug 455451. Don't notify from inside frame construction. r+sr=jst 2008-09-25 16:35:46 -04:00
resources bug 451601 - kill MOZILLA_LOCALE_VERSION, main mozilla-central patch to kill xpfe-style chrome versions, r=ted sr=Neil 2008-09-11 01:08:57 +02:00
test Combobox steals mouse event after menu is closed with Alt+Up. b=348236 r=mats sr=bzbarsky 2008-12-14 11:17:06 +01:00
Makefile.in bug 447642 - get rid of --disable-mochitest, replace MOZ_MOCHITEST with ENABLE_TESTS. r=bsmedberg 2008-09-09 13:59:11 -04:00
nsButtonFrameRenderer.cpp Bug 456152 - slight API cleanup for nsCSSRendering::PaintBackground; r+sr=roc 2008-09-24 06:07:22 +02:00
nsButtonFrameRenderer.h clean up unused methods and virualized methods in nsButtonFrameRenderer. Patch by Rob Arnold. b=315347 r/sr=roc 2007-05-23 13:32:56 -07:00
nsComboboxControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsComboboxControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsFieldSetFrame.cpp Bug 456152 - slight API cleanup for nsCSSRendering::PaintBackground; r+sr=roc 2008-09-24 06:07:22 +02:00
nsFileControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsFileControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsFormControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsFormControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsGfxButtonControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsGfxButtonControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsGfxCheckboxControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsGfxCheckboxControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsGfxRadioControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsGfxRadioControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsHTMLButtonControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsHTMLButtonControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsICheckboxControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsIComboboxControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsIFormControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsIListControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsIRadioControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsISelectControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsITextControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsImageControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsIsIndexFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsIsIndexFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsLegendFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsLegendFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsListControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsListControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsSelectsAreaFrame.cpp Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
nsSelectsAreaFrame.h Stop using nsAreaFrame for anything other than xul:label, which is the only thing for which it does anything different from nsBlockFrame, and rename it accordingly. (Bug 471356) r+sr=roc 2008-12-29 10:07:38 -05:00
nsTextControlFrame.cpp Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00
nsTextControlFrame.h Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports: 2009-01-12 14:20:59 -05:00