Commit Graph

206 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
dbaron@dbaron.org
fe0cb896ea Give radio buttons and checkboxes a useful baseline, and switch checkboxes from text-bottom to baseline alignment (to match radios). b=402940 r+sr=bzbarsky a=blocking1.9+ 2008-03-07 09:57:34 -08:00
jwalden@mit.edu
6d7584839a Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
mats.palmgren@bredband.net
42a227c78a Cleanup implementations of QueryInterface. b=385750 r+sr=dbaron r+sr=jst 2007-07-03 19:15:31 -07:00
bzbarsky@mit.edu
eeaa1a101b Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc. 2007-03-30 14:11:41 -07:00
sharparrow1%yahoo.com
edd46f382e Bug 373381: Rendering of radios/checkboxes with auto width has regressed. r+sr=roc. 2007-03-14 02:47:05 +00:00
sharparrow1%yahoo.com
4862938c93 Bug 370379: Create views less frequently. Stops creating views for -moz-hidden-unscrollable, opacity, fixed backgrounds, and scrollbars, plus removes some unneeded methods from views and view managers. r+sr=roc. 2007-02-24 00:23:42 +00:00
sharparrow1%yahoo.com
db47d007bc Bug 370303: Cleanup in layout/forms. r+sr=roc. 2007-02-15 10:58:31 +00:00
sharparrow1%yahoo.com
fc5994f67d Bug 370185: clean up view header includes (trivial). rs=bzbarsky. 2007-02-12 19:31:59 +00: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
timeless%mozdev.org
4e651390ef Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +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
a7f03736a9 Bug 328926. Remove aPresContext parameter from nsIFrame::Destroy, nsIFrame::SetInitialChildList and nsIFrame::RemovedAsPrimaryFrame. patch by Marc Liddell, r+sr=roc 2006-04-10 00:16:29 +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
pavlov%pavlov.net
131e8794e2 backing out roc's patch for bug 328926 due to crash running tests on vc8 machines. 2006-03-15 06:43:36 +00:00
roc+%cs.cmu.edu
557b089a47 Bug 328926. Remove aPresContext parameter from Destroy and SetInitialChildList. patch by Marc Liddell, r+sr=roc 2006-03-15 03:14:02 +00:00
sharparrow1%yahoo.com
eb31b955a4 Bug 326883 - Cleanup unused methods. r+sr=roc 2006-02-16 00:30:29 +00:00
dbaron%dbaron.org
00eb53b26a Remove old native widget code that we were only keeping around for viewer. b=326417 r+sr=roc 2006-02-08 20:09:19 +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
roc+%cs.cmu.edu
b65c655ed9 Bug 254755. deCOMtaminate nsIFormControlFrame. patch by jpl24, r+sr=roc 2005-12-12 23:53:06 +00:00
cvshook%sicking.cc
64a0fbd45f Bug 311827: Make GetAttr return a bool rather then an nsresult.
r/sr=bz
2005-10-28 11:25:24 +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
gavin%gavinsharp.com
6655b13eac Bug 301313 : Remove mPresContext in /layout/forms/, patch by Andreas Lange <mozilla@lange.cx>, r+sr=roc 2005-08-16 12:20:58 +00:00
jst%mozilla.jstenback.com
50de4a3e1d Fixing bug 289940. Make chrome event handlers only receive trusted events by default. r=jonas@sicking.cc, sr=peterv@propagandism.org, a=chofmann@mozilla.org 2005-04-28 23:48:28 +00:00
roc+%cs.cmu.edu
3f9ca6b926 Bug 287592. Make buttons return the correct overflow area from reflow. r+sr=dbaron 2005-03-31 02:19:48 +00:00
bmlk%gmx.de
10291e93a2 fix for build warnings (shadow & strange null pointer treatment) bug 287102 r/sr=dbaron 2005-03-24 18:41:39 +00:00
cvshook%sicking.cc
e2081a89e6 Bug 236476: Change GetHTMLAttribute to GetParsedAttr. Also fixes bug 232706 by removing final uses of nsHTMLValue.
r=bz sr=jst
2005-01-25 00:02:58 +00:00
bryner%brianryner.com
a8073f18a3 Remove nsIHTMLContent interface (bug 276959). r+sr=jst. 2005-01-12 19:45:38 +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
d3197a9276 remove unused prescontext argument from GetOffsetFromView bug 276015 r/sr=dbaron 2004-12-26 19:48:54 +00:00
aaronleventhal%moonset.net
2ba6814444 Bug 250269. Outlines not getting painted on buttons, radios, checkboxes, tables and table cells. r+sr=roc 2004-11-11 15:07:22 +00:00
bmlk%gmx.de
7884179497 frames with a percentage based width should report a 0 MEW bug 246999 r/sr=roc 2004-08-31 18:50:40 +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
rbs%maths.uq.edu.au
e2527bce29 Cleanup font usage in form input controls, b=251637, r=jshin, sr=bzbarsky 2004-07-21 01:05:44 +00:00
neil%parkwaycc.co.uk
bac92025e4 Form frames should not register empty access keys b=248566 r/sr=roc 2004-07-03 20:54:54 +00:00
gerv%gerv.net
708b56cff4 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
roc+%cs.cmu.edu
17f81274ba Bug 227838. Remove unused RequiresWidget method from nsIFormControlFrame. r+sr=bzbarsky 2004-04-13 03:11:05 +00:00
bryner%brianryner.com
ed98c9a308 deCOMtaminate nsIPresContext::GetEventStateManager. Bug 229371, r+sr=roc. 2004-02-27 17:17:37 +00:00
bryner%brianryner.com
92499cbd13 Inline TwipsToPixels and PixelsToTwips on nsIPresContext. Bug 229371, r+sr=dbaron. 2004-02-11 04:57:07 +00:00
bryner%brianryner.com
433c389ddf Inline getters and setters for scaling factors on nsIDeviceContext. Bug 233103, r+sr=dbaron. 2004-02-05 01:57:10 +00:00
bryner%brianryner.com
4f69ec2c2e Guarantee that the pres context's device context will be non-null by returning failure from Init() if it's null. Rename inline getter GetDeviceContext() to DeviceContext(), convert all callers to use the inline getter, and remove the virtual/refcounting getter. Bug 229371, r+sr=dbaron. 2004-02-02 22:17:21 +00:00
bryner%brianryner.com
ef5c330583 Continuing nsIPresContext deCOMtamination (bug 229371). Remove GetImageLoadFlags (unused). Make failure to fetch the LookAndFeel service cause Init() to fail, don't null check it after that, and inlined the getter. Move IOService caching to nsImageFrame, the only user of it. r+sr=bzbarsky. 2004-01-21 09:35:59 +00:00
bryner%brianryner.com
dfe3513814 Change all callers of nsIPresContext::GetShell() to use the non-refcounting versions. Most callers now use PresShell(), a few that were checking for null conditions are using GetPresShell() -- this will be remedied once we can ensure that a prescontext never has a null pres shell. Bug 227690, r+sr=bzbarsky. 2003-12-21 05:36:36 +00:00
uid502
d81619b4fa Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky 2003-10-31 20:19:18 +00:00
dbaron%dbaron.org
3de4dc91e0 Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky 2003-10-13 21:51:02 +00:00
roc+%cs.cmu.edu
0b15c3893e Ongoing deCOMtamination. r+sr=dbaron 2003-07-04 12:50:32 +00:00
dbaron%dbaron.org
4afcaa0e69 DeCOMtaminate nsIFrame::GetView and SetView, and add HasView, GetClosestView, and AreAncestorViewsVisible to consolidate common patterns. b=208004 r+sr=roc 2003-06-19 23:44:01 +00:00
dbaron%dbaron.org
75ff60c62f Clean up API (and its callers) for getting style data: remove unneeded null checks and switch to new inline member functions (one for each struct) that return values. b=197205 r+sr=roc a=brendan 2003-05-15 03:42:21 +00:00