Commit Graph
447 Commits
Author SHA1 Message Date
Boris Zbarsky 7a05beecbe Bug 400226. Do text redisplay as soon as it's safe, not after a trip to the event loop. r+sr=mats 2009-02-17 22:27:25 -05: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
Aiko 249cee7452 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
L. David Baron 3eecb5a2af Avoid discontinuity when options drop to height:0 by using CalcFallbackRowHeight only when GetNumberOfOptions() == 0, thus eliminating the last caller of CalcFallbackRowHeight passing a non-zero option count. (Bug 467084) sr=roc r=bzbarsky a=blocking1.9.1+ 2008-12-04 08:09:53 -08:00
L. David Baron 27bd6b26d3 Pass the user font set through more reliably and make it a required parameter. (Bug 467084) r+sr=roc a=blocking1.9.1+ 2008-12-04 08:09:53 -08:00
Markus Stange 615b3a4ee1 Bug 462793 - Changing listbox selection with keyboard no longer scrolls to make the newly selected item visible, r+sr=roc 2008-11-04 15:38:16 +01:00
Taras Glek c912dadd99 Bug 456099: outparamdel nsIPrivateDOMEvent r+sr=jst 2008-10-09 16:23:07 -07:00
Arpad Borsos 7f605b4bbc Bug 452797 - Clean up unused variables in layout/; v6; r+sr=roc 2008-09-20 15:42:03 +02:00
Robert O'Callahan bee2844b64 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
Zack Weinberg a293f973ab Bug 446498 – use new border rendering for focus rectangles, and strip dead code. r+sr=vlad 2008-08-06 12:33:18 +02:00
81fd20f5b1 Bug 425253. Propagate reflow-depth tracking through XUL box layout. r+sr=dbaron,a=damon 2008-04-09 21:39:41 -07:00
1d4da23d20 Bug 405952. Add scrollbar width to pref and min widths for overflow:scroll elements but for no other overflow values. r+sr=bzbarsky,dbaron,dholbert, a=beltzner 2008-02-28 12:37:06 -08:00
73a6d6531c Bug 407015. Dropdown listboxes should not propagate computed height from the scrollframe to its scrolled content. r+sr=dbaron 2007-12-06 16:10:31 -08:00
d8d3dd94e0 Landing part of bug 363858 that somehow got misplaced. pending r=dbaron 2007-12-02 23:38:48 -08:00
5c8e13e604 Bug 392629. Be a bit more clever about invalidating listboxes and combobox dropdowns when the focus ring moves. r+sr=bzbarsky 2007-09-27 16:06:31 -07:00
d0829b5bfc Make sure to process style updates before reflow, and both before painting. Bug 375436, r+sr=roc, a=dbaron 2007-08-21 19:57:06 -07:00
40cfac2729 Don't optimize away necessary reflows. Bug 388374, r+sr+a=dbaron 2007-08-02 15:02:25 -07:00
368c29ae32 Introduce a setter for nsHTMLReflowState::mComputedHeight so that we're sure to
update the resize flags properly.  Bug 388084, r+sr+a=dbaron
2007-08-02 11:08:05 -07:00
98de634631 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
79eeaa32d0 Cleanup implementations of QueryInterface. b=385750 r+sr=dbaron r+sr=jst 2007-07-03 19:15:31 -07:00
732a95a8c2 Fixing bustage 2007-06-14 06:47:23 -07:00
9c9143a4a9 Bug 384265. No accessible focus events fired during incremental find in an HTML <select>. r=mats, sr=neil 2007-06-14 06:18:16 -07:00
d3ff75a6f1 Protect against frame destruction during event handling and document when that can occur. b=378670 r+sr=bzbarsky 2007-05-17 04:12:30 -07:00
70e37b2ff0 Bug 363089, Remove nsIDOMEventReceiver (this time passes mochitest), r+sr=jst 2007-05-14 02:11:38 -07:00
0f958609c2 backout Bug 363089 2007-05-11 06:34:05 -07:00
833e8c64f1 Bug 363089, Remove nsIDOMEventReceiver, r+sr=jst 2007-05-11 04:15:11 -07:00
cdb5b22b87 Change the FrameNeedsReflow API to pass the dirty flags to be added directly tothe method, instead of setting them before calling the method. That way we canavoid reflowing the ancestor of a reflow root which is not itself dirty but hasdirty children. This also makes it harder to set dirty bits inconsistentlywith the FrameNeedsReflow call. Bug 378784, r+sr=dbaron, pending rbs' reviewon the mathml parts. 2007-05-06 12:16:51 -07:00
6191bc62d4 Bug 378129: Consistently pass the right frame to InvalidateInternal. r+sr=roc. 2007-04-20 16:51:12 -07:00
e0f90db412 Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc. 2007-03-30 14:11:41 -07:00
7e4e3ec68f 375196, r+sr=roc 2007-03-25 22:38:22 -07:00
dbaron@dbaron.org a4cc40910e Clean up IsFrameOfType methods to call their base class IsFrameOfType methods reliably. b=341326 r+sr=roc 2007-02-24 18:33:33 +00:00
joshmoz@gmail.com b5df70fda8 cleanup. r+sr=dbaron 2007-02-14 21:00:15 +00: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
bzbarsky@mit.edu b09985c9eb Make mComputedWidth private, with a getter/setter, and make the setter update
the resize flags.  Bug 367442, r+sr=dbaron
2007-01-26 00:05:12 +00:00
bzbarsky@mit.edu 262b3d0133 Remove some redundant (but not quite identical, hence asserting) logic. Bug
367587, r+sr=roc
2007-01-22 04:29:35 +00:00
bzbarsky@mit.edu c008ee2ec8 Fix painting of focus outline for empty <select>s. Bug 362995, r+sr=roc 2007-01-17 23:17:30 +00:00
timeless@mozdev.org f4ef17d178 Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +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
mats.palmgren@bredband.net a305304ffd Make sure we fire onchange also after selectedIndex was set to -1 through DOM. Thanks to Pablo Greco for helping fix this. b=317078 r+sr=roc 2006-09-30 05:07:49 +00:00
bzbarsky@mit.edu 8ec0a3ab15 Reinstate reflow count painting when it's needed. Bug 352851, r+sr=roc 2006-09-19 04:26:20 +00:00
Olli.Pettay@helsinki.fi 765b25ef4a Bug 231830, crash on style.display = 'none' for select element when event onchange occurs [@ nsStyleContext::GetRuleNode ][@ nsIFrame::Invalidate ], r+sr=bz 2006-08-11 12:09:30 +00:00
mats.palmgren@bredband.net 7ad743157e Remove the special painting code for a 165-twips checkbox. Move the remaining parts of nsFormControlHelper to its consumers and remove nsFormControlHelper.{cpp,h} from the tree. b=343495 r+sr=roc (r=me on roc's part) 2006-07-06 10:43:51 +00:00
roc+@cs.cmu.edu 5264d60dff Fixing bustage 2006-06-08 03:22:44 +00:00
roc+@cs.cmu.edu af8ada7008 Bug 339889. Propagate invalidation through the frame hierarchy to topmost widgets. r+sr=bzbarsky 2006-06-08 01:11:43 +00:00
cvshook@sicking.cc 5df20de104 Bug 335911: Change nsIContent::IsContentOfType to nsINode::IsNodeOfType. r/sr=bz 2006-05-05 06:52:21 +00:00
aaronleventhal@moonset.net 447388696f Bug 336162. Don't fire DOM events from layout. r+sr=bz 2006-05-03 17:02:37 +00:00
bzbarsky@mit.edu c6bf2390ba Handle our single focused option being removed. Bug 325321, r=roc, sr=dbaron 2006-04-20 02:37:31 +00:00