387 Commits

Author SHA1 Message Date
Boris Zbarsky
b0ba4290ce Bug 500882 part 2. Switch setting of primary frames to the new API; switch nsFrameManager::GetPrimaryFrameFor to the new API; remove resulting gobs of dead code. r=roc 2009-12-24 16:20:05 -05:00
Boris Zbarsky
5132d64872 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky
c1d4ecaf51 Bug 525608 part 1. Introduce an enum for keeping track of pseudo-elements. r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky
8202b90f61 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
6eb3c28de7 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-10 14:36:05 -08:00
Boris Zbarsky
8616f91258 Bug 525608 part 1. Introduce an enum for keeping track of pseudo-elements. r=dbaron 2009-12-10 14:36:04 -08:00
Boris Zbarsky
b694bf4f11 Bug 523294 part 3. Get rid of the now-unused aStateMask argument to AttributeChanged. r=dbaron 2009-12-10 14:36:04 -08:00
Robert O'Callahan
c2f7a1e950 Bug 513082. Instead of passing aDirtyRect to nsDisplayItem::Paint, have nsDisplayList::OptimizeVisibility (renamed to ComputeVisibility) compute the intersection of the visible region with the bounds of each display item and store the result in the item's mVisibleRect. This lets us do less work to paint display items which have a small intersection with the visible region but a large intersection with the bounding-box of the visible region. r=dbaron
--HG--
extra : rebase_source : 76db4b87ef9e5a6e9de7677edc08c26e2cbc462e
2009-09-07 12:35:14 +12:00
David Zbarsky
3d96b7b4a7 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Neil Deakin
9dcaa2e4e5 Bug 516615, when capturing, check if the target frame's content is a descendant of the capturing content, rather than using the frame tree, r=roc,sr=smaug 2009-09-28 10:17:01 -04:00
Mats Palmgren
7a3be46e9e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Neil Deakin
51b0e867e6 Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug 2009-09-13 09:13:16 -04:00
Zack Weinberg
d47e0f433b Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
Neil Deakin
cef5702d08 Bug 503943, back out mouse capture patch, CLOSED TREE 2009-09-10 12:11:41 -04:00
Neil Deakin
6d007b6255 Bug 503943, add mouse capturing api to elements, remove capturing from views, r=roc,sr=smaug 2009-09-10 08:51:36 -04:00
Boris Zbarsky
8f435d226b Backed out changeset 4aa19414e651 (bug 488249) to fix test orange.
--HG--
extra : rebase_source : ae1c0155ec32b0887eff27ded77c6ba2b37dda64
2009-08-24 20:51:57 -04:00
David Zbarsky
0aa6350041 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Neil Deakin
d01476b77a Bug 230081, use proper cursors for frameset border resizing, r=dbaron 2009-08-12 10:03:35 -04:00
Boris Zbarsky
1ef12b64a7 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
David Bolter
047c8ca2a3 Bug 467144 - nsIMutationObserver::AttributeChanged should provide old attribute value; r=bzbarsky, r+sr=sicking 2009-06-29 14:36:25 -04:00
Arpad Borsos
5c75f0b0ee Bug 492520 - Optimize some Frame classes for memory usage; r+sr=roc 2009-05-12 12:13:09 +02:00
Daniel Holbert
42f2f94d22 Bug 490909: Remove old layout debugging code, patch #2: remove 'VerifyTree' & related code. r+sr=dbaron 2009-05-12 12:03:09 -07:00
Olli Pettay
b6cf78a6a8 Bug 478245 - Crash [@ nsEventStateManager::PreHandleEvent], r+sr=dbaron 2009-03-11 17:43:08 +02:00
Boris Zbarsky
5f139eb5e6 Bug 473390 part 3. Move some HTML frame construction assertions out of the frame constructor and into the relevant frame creation methods. r+sr=roc 2009-01-19 13:31:31 -05:00
Boris Zbarsky
454784fb68 Bug 473390 part 2. Call SetInitialChildList on HTML frames even if the child list is empty, to bring HTML in line with everything else. r+sr=roc 2009-01-19 13:31:31 -05:00
Jeremy Lea
ce80f69254 Bug 448830. Make nsIntRect/nsIntMargin/nsIntSize/nsIntPoint different types from nsRect/nsMargin/nsSize/nsPoint different types for better compile-type unit checking. r+sr=roc
--HG--
extra : rebase_source : a331a9e49fbc5931f546919281fcca7f008ab615
2009-01-15 16:27:09 +13:00
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
Zack Weinberg
245dc2f25a Bug 416907 - Crash [@ nsHTMLFramesetFrame::Reflow] with frameset in mroot; r+sr=roc 2008-10-30 18:10:19 +01:00
bent.mozilla@gmail.com
c54db3bb3c Bug 425551 - "Fix async DOM events from keeping link elements alive past unlink". r+sr=sicking, a=beltzner. 2008-04-11 10:29:06 -07:00
jonas@sicking.cc
f6bc46eb38 Backing out due to test failures 2008-04-08 20:20:39 -07:00
jonas@sicking.cc
aedea05d90 Bug 425551: Improve script blocker code and use it to prevent async DOM events from keeping link elements alive past CC. Patch by bent. r/sr=sicking 2008-04-08 19:06:27 -07:00
roc+@cs.cmu.edu
f8b25558e4 Bug 407889. Reduce dynamic memory allocations during event handling by having nested invocations of HitTest share a single buffer for reordering display items; this buffer is an nsAutoTArray so it's mostly stack-allocated. r+sr=mats 2008-01-03 18:08:29 -08:00
bzbarsky@mit.edu
4d53ccf996 Make attribute changes that also cause a state change properly reresolve style
when a selector uses both the state and the attribute.  Bug 315920, r=dbaron,
sr=sicking.
2007-07-12 13:05:45 -07: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
sharparrow1@yahoo.com
107224ebc4 Bug 385862: View usage cleanups. r+sr=roc 2007-06-27 09:37:50 -07:00
Olli.Pettay@helsinki.fi
4e9f1925dd Additional patch for bug 369150, r+sr=bz 2007-04-10 12:08:21 -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
Olli.Pettay@helsinki.fi
408dec3ae5 Bug 369168, r+sr=roc 2007-03-26 22:30:14 -07:00
Olli.Pettay@helsinki.fi
48c20edd42 backout Bug 369168 2007-03-23 03:03:25 -07:00
Olli.Pettay@helsinki.fi
41b50569b4 Bug 369168, r+sr=roc 2007-03-22 17:01:36 -07:00
Olli.Pettay@helsinki.fi
ccf98274c5 Bug 369150, r+sr=roc 2007-03-22 16:57:55 -07:00
bzbarsky%mit.edu
23dc2ea747 Only reframe a <frameset> frame if adding a child <frame> or <frameset>. Bug
370430, r+sr=roc
2007-03-05 00:11:23 +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
cvshook%sicking.cc
a39ff30284 Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128 2007-01-30 00:06:41 +00:00
dbaron%dbaron.org
f6245f0ed9 Change the bulk of ascent (baseline) computation to happen on a virtual method on nsIFrame, and remove the redundant descent member from nsHTMLReflowMetrics, primarily to support having both first-line and last-line baselines. b=367332 r+sr=roc 2007-01-23 04:06:56 +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