Commit Graph

934 Commits

Author SHA1 Message Date
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
Mats Palmgren
6f16626d51 Bug 233463, patch 2 - Introduce nsFrameList::mLastChild member for fast access to the last sibling frame. r=bzbarsky 2009-09-18 13:09:36 +02: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
Mats Palmgren
f82eedba5a Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Bobby Holley
684e46c218 Bug 435296 - Sync decode handling for decode-on-draw. r=roc 2009-09-12 16:44:18 -06: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
Boris Zbarsky
23db8f4fa3 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -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
Boris Zbarsky
179c7d9b2c Bug 504221 part 8. Make CreateAnonymousColFrames saner. r=bernd, sr=roc 2009-07-28 08:53:18 -04:00
Boris Zbarsky
f3c6270c7b Bug 504221 part 5. Switch from GetFirstChild to GetChildList (returning an nsFrameList). For now, keep a GetFirstChild shim so callers don't have to be updated. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
2eb38e3023 Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Robert O'Callahan
46dd2efbdd Bug 371839. Remove ParentDisablesSelection, which is effectively unused. r=bzbarsky 2009-07-27 10:06:30 +12:00
Robert O'Callahan
ea697b8b02 Bug 371839. Remove useless SetSelected implementations. r=bzbarsky 2009-07-27 10:03:16 +12:00
Robert O'Callahan
be337afb61 Bug 505184. When 'deflation' of the background area is not required, paint table backgrounds using a dedicated nsDisplayBackground instead of the multipurpose nsDisplayTableBorderBackground. r=fantasai 2009-07-22 12:44:52 +12:00
Bernd
5e3c182cfc bug 240245 remove some bizarre col frame construction code that is never called. r=bzbarsky 2009-07-12 19:47:10 +02:00
Alexander Surkov
d1b9b23f4b Bug 437980 - 9 tests fail in table_indexes.html chrome test file, r=marcoz, davidb, bernd 2009-06-29 18:54:26 +08:00
Bernd
00f04478db bug 325292 - place the needtocollapse flag on the first inflow so that works in pagination mode r/sr=roc 2009-06-21 18:34:03 +02:00
Bernd
32055d26e7 refactor the setting of continous borders in the border collapse computation bug 452319 r=fantasia sr=roc
* * *
* * *
* * *
* * *
2009-06-21 18:31:40 +02:00
Bernd
afbc7b85d9 bug 492661 - track the visibility of cols and colgroups independently of the presence of cells r/sr=roc 2009-05-16 16:22:56 +02:00
Boris Zbarsky
63fbfdff37 Bug 489479. Make nsTableFrame::InsertFrames handle a framelist that includes both colgroups and rowgroups being inserted at the end of the principal child list. r=bernd, sr=roc 2009-04-23 10:17:46 -04:00
Bernd
454af0dc50 bug 413091 - empty first column needs a cellspacing before as we assume always in the code to have cellspacing on the left and right side, r/sr=dbaron 2009-04-18 10:22:34 +02:00
Jonathan Kew
ccbd2d2564 Bug 475968. Eliminate NS_FRAME_OUTSIDE_CHILDREN flag, store small overflow areas cheaply within the frame. r+sr=roc 2009-04-06 12:31:50 +12:00
Arpad Borsos
1f292f1511 Bug 481932 - use do_QueryFrame instead of IS_TABLE_CELL + cast; r+sr=roc 2009-03-24 23:10:06 +01:00
Arpad Borsos
67a98b077f Bug 481881 - use better template arguments for nsTArray<T> after bug 474369, layout part; r+sr=roc 2009-03-12 08:26:29 +01:00
Karl Tomlinson
3509c4e0ce backout dac7c3176b33 from bug 481881 2009-03-11 17:09:22 +13:00
Arpad Borsos
3ef565c040 Bug 481881 - use better template arguments for nsTArray<T> after bug 474369, layout part r+sr=roc 2009-03-11 15:26:36 +13:00
Daniel Holbert
1df832b020 whitespace-only: align 'aPresContext' with other parameters in methods within nsTableFrame.cpp 2009-02-18 11:47:22 -08:00
Zack Weinberg
c6de6120b4 Bug 476557. Update view manager cache of page background color in PresShell::Paint, not nsCSSRendering::PaintBackground; permits a small API cleanup. r+sr=roc 2009-02-16 14:11:34 +13:00
Michael Ventnor
87dd7633de Bug 476738. Implement 'inset' box-shadows. r+sr=roc,r=dbaron 2009-02-10 21:45:13 +13:00
Bernd
b00bbe6efd include the border width for border collapsed tables as required by CSS 2.1. We implemented before what CSS 2.0 required and it was ugly, so the spec changed. r=fantasai sr=roc, bug 155955 2009-02-08 17:46:42 +01:00
Bernd
c887765d07 remove dead debugging code r/sr=bzbarsky bug 475075 2009-02-08 17:45:28 +01:00
Arpad Borsos
c3e840ee00 Bug 474369 - get rid of nsVoidArray, layout/tables part. r+sr=roc 2009-02-05 10:09:50 +01: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
Michael Ventnor
8d8b00c8e5 Bug 472410. Don't adjust selection colors if the background is a -moz-appearance that we can't know anything about. r+sr=roc 2009-01-09 13:29:38 +13:00
Michael Ventnor
7208acc5a1 Bug 453641. Make box-shadow work on tables and table parts. r+sr=roc 2008-12-03 14:20:21 +13:00
L. David Baron
968b7bdbce Simplify conditions, part 2, since we're really only trying to avoid IsGeometryDirty if we're not going to need any reflow at all. (Bug 438509) r=dholbert sr=roc a=blocking1.9.1+ 2008-11-25 13:27:53 -08:00
L. David Baron
3e46756962 Simplify condition, part 1, since mVResize already implies IsGeometryDirty thanks to the code immediately above. (Bug 438509) r=dholbert sr=roc a=blocking1.9.1+ 2008-11-25 13:27:53 -08:00
L. David Baron
d738ca5c9f Avoid exponential growth of special height reflows. (Bug 438509) r=dholbert sr=roc a=blocking1.9.1+ 2008-11-25 13:27:53 -08:00
L. David Baron
edb0f76ae4 Remove nsHTMLReflowState::mPercentHeightReflowInitiator, which is write-only. (Bug 438509) r+sr=roc a=blocking1.9.1+ 2008-11-25 13:27:53 -08:00
Robert O'Callahan
8f8ee1fa2b Bug 462972 - 'Fix nsChangeHint comparisons'. r=bernd, sr=dbaron 2008-11-04 14:03:14 -08:00
Bernd
474212a12f bug 286797 dynamic changes of the border color require a update of the cellmap as there is stored where a new segment starts. This is used by painting. r/sr=bzbarsky 2008-11-02 19:41:35 +01:00
Bernd
ddb14127d6 bug 258377 remove inline on PeekStyleData so that it can be called from the layout library r/sr=bzbarsky 2008-11-01 09:52:29 +01:00
Bernd
18fea66d2d mac build bustage disable the code in question 2008-10-26 13:06:28 +01:00
Bernd
9ef8b0cecd bug 258377, make border collapsed tables to listen for dynamic border style changes r/sr=bzbarsky 2008-10-26 11:11:34 +01:00
Bernd
e1fefea39a bug 451170, avoid hanging by going to the next frame instead of quering the same frame again. r/sr=bzbarsky 2008-10-26 10:20:42 +01:00
Robert O'Callahan
5cb5c89885 Bug 460240. Need to repaint the overflow area if the overflow area changes, the frame has effects/outline/box-shadow, and the frame size has not changed. r+sr=bzbarsky 2008-10-21 20:42:28 +13:00
Bernd
60374da968 trigger fixed layout if the width cahnges from auto to fixed, bug 426629r/sr=dbaron 2008-10-18 19:25:26 +02:00
Bernd
2925b6cf49 use the right method to insert more than one frame, bug 456041 r/sr=bzbarsky 2008-09-27 13:07:29 +02:00