Commit Graph

387 Commits

Author SHA1 Message Date
Boris Zbarsky
5724a5fa2e 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
753175c110 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
e06b127edc 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
e28191d463 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
03f70fa558 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
c15825906b 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
37b18a8aa8 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
9d5b5ae49a 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 2009-09-07 12:35:14 +12:00
David Zbarsky
aadd6cf119 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Neil Deakin
b89b975d2d 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
6247c7c4c6 Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Neil Deakin
072598c8a3 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
b6fe8205dd 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
38553ecb4a Bug 503943, back out mouse capture patch, CLOSED TREE 2009-09-10 12:11:41 -04:00
Neil Deakin
12bece4d53 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
c95cebf89b Backed out changeset 4aa19414e651 (bug 488249) to fix test orange. 2009-08-24 20:51:57 -04:00
David Zbarsky
630c8fc41e Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Neil Deakin
91f15043a4 Bug 230081, use proper cursors for frameset border resizing, r=dbaron 2009-08-12 10:03:35 -04:00
Boris Zbarsky
a8b4b2dc7e Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
David Bolter
9ec4d5a451 Bug 467144 - nsIMutationObserver::AttributeChanged should provide old attribute value; r=bzbarsky, r+sr=sicking 2009-06-29 14:36:25 -04:00
Arpad Borsos
495906e0a3 Bug 492520 - Optimize some Frame classes for memory usage; r+sr=roc 2009-05-12 12:13:09 +02:00
Daniel Holbert
9e76962785 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
0b3823aa3b Bug 478245 - Crash [@ nsEventStateManager::PreHandleEvent], r+sr=dbaron 2009-03-11 17:43:08 +02:00
Boris Zbarsky
a0100d4965 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
46fe973cde 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
3e1e90f73a 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 2009-01-15 16:27:09 +13: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
Zack Weinberg
851825146e Bug 416907 - Crash [@ nsHTMLFramesetFrame::Reflow] with frameset in mroot; r+sr=roc 2008-10-30 18:10:19 +01:00
87036333c7 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
530901270a Backing out due to test failures 2008-04-08 20:20:39 -07:00
230a81ffc6 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
3a9eaf107e 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
da6d55cdc6 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
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
989d0f0a56 Bug 385862: View usage cleanups. r+sr=roc 2007-06-27 09:37:50 -07:00
90c1d5c633 Additional patch for bug 369150, r+sr=bz 2007-04-10 12:08:21 -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
2773a30057 Bug 369168, r+sr=roc 2007-03-26 22:30:14 -07:00
7353a3a369 backout Bug 369168 2007-03-23 03:03:25 -07:00
f35b0be284 Bug 369168, r+sr=roc 2007-03-22 17:01:36 -07:00
6d7465ca32 Bug 369150, r+sr=roc 2007-03-22 16:57:55 -07:00
bzbarsky@mit.edu
dfe4bd15b2 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
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
dbaron@dbaron.org
8648581bf7 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
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