Commit Graph

55 Commits

Author SHA1 Message Date
Robert O'Callahan
d56dfa741e 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
Boris Zbarsky
d52b43f127 Bug 515534. Simplify some nsTableRowGroupFrame methods by assuming that the frame constructor did not screw up. r=bernd 2009-09-18 14:52:58 -04:00
Mats Palmgren
9aacd90f4f Bug 233463, patch 1 - Minor cleanup of frame list related code in nsTableRowGroupFrame. r=bzbarsky 2009-09-18 13:09:35 +02:00
Mats Palmgren
8279fd683e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Mats Palmgren
948203eb7d Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Bobby Holley
0b02012ed8 Bug 435296 - Sync decode handling for decode-on-draw. r=roc 2009-09-12 16:44:18 -06:00
Zack Weinberg
17eb5a6efc 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
f2936464e5 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
b0259fd19b Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Arpad Borsos
420adcef91 Bug 481932 - use do_QueryFrame instead of IS_TABLE_CELL + cast; r+sr=roc 2009-03-24 23:10:06 +01:00
Arpad Borsos
b2f9b630db Bug 474369 - get rid of nsVoidArray, layout/tables part. r+sr=roc 2009-02-05 10:09:50 +01:00
Daniel Holbert
3a78be97fc Whitespace-only: Fix parameter indentation in nsTableRowFrame.cpp and nsTableRowGroupFrame.cpp 2009-01-14 14:16:43 -08:00
Benjamin Smedberg
24e7cb1f78 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
50621e4f9f 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
d0b948876f 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
Benjamin Smedberg
9696613a50 Relanding bug 461410 - nsILineIterator is never used outside of layout - set nsresults to replicate the existing code more correctly, which fixes the mochitest failures, r+sr=roc with nits noted by Mats Palmgren 2008-10-30 12:17:59 -07:00
Benjamin Smedberg
4214b72dd5 Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
dd4c950cff Bug 461410 - nsILineIterator is never used outside of layout, and doesn't need to be refcounted: the callers can just destroy it when they're done with it. We can't do this with a virtual destructor, however, because nsTableRowGroupFrame implements the interface directly, while nsLineIterator is a separately-allocated class. So clients are expected to call DisposeLineIterator when they're done with it.
Instead of accessing nsILineIterator using QueryInterface, we add a nsIFrame::GetLineIterator API, which is cleaner and more efficient all at the same time!

r+sr=roc
2008-10-28 00:47:19 -04:00
Bernd
6777c42861 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
5afcd8c5a4 make sure that the height from a fixed height tbody gets distributed, bug 439639, r=dholbert, sr=roc 2008-09-20 11:30:30 +02:00
Bernd
35ddb1c278 remove obsolete assert and comment bug 430374 r/sr=bzbarsky 2008-08-24 10:06:57 +02:00
Boris Zbarsky
d9344bb542 Bug 449362 - "Table border is rendered incorrectly when the table cell size changes due to javascript." [r+sr=roc] 2008-08-20 01:45:29 -05:00
Robert O'Callahan
86e7983c19 Bug 423823. Clip overflowing background when tbody is scrollable. r=fantasai,sr=dbaron 2008-08-16 21:10:29 +12:00
Justin Dolske
effb24337d Backed out changeset 7362e63c648e (relanding bug 449422) 2008-08-13 20:49:57 -07:00
Justin Dolske
b2d3e7aa5b Backed out changeset e7c43898c379 2008-08-13 16:29:57 -07:00
Boris Zbarsky
4ba9e11774 Bug 449422. Assert early and hopefully not often when table-row frames have the wrong display type. r=bernd, sr=roc 2008-08-07 17:05:19 -04:00
Robert O'Callahan
7e15def36c Bug 444688. Use an IsFrameOfType check instead of a frame state bit to detect whether a frame excludes ignorable whitespace children. r+sr=dbaronlayout 2008-07-14 10:41:18 +12:00
dholbert@cs.stanford.edu
cd2cd226bc Bug 409084: When determining if a row or rowgroup isTopOfPage, check if the previous row has positive YMost, rather than just checking if there *is* a previous row. r=bernd sr=dbaron a1.9=beltzner 2008-04-17 11:18:41 -07:00
timeless@mozdev.org
2901e3ff19 Bug 394114 Interfaces missing from various QI implementations. r=jag sr=jag a=dsicore 2008-04-07 23:18:35 -07:00
bmlk@gmx.de
9a1928e320 lookup all columns for possible originating cells, bug 426706 r/sr=bzbarsky a=beltzner 2008-04-06 05:16:45 -07:00
bmlk@gmx.de
8e66beaecd initialize all border parameters so that the border is initialized even for empty rowgroups bug 424434 r/sr=bzbarsky a=mtschrep 2008-04-06 05:12:04 -07:00
roc+@cs.cmu.edu
4f41fd4761 Bug 416735. When a table frame paints the backgrounds for all its parts, make sure those parts notify the table frame display item when they are background-attachment:fixed. r+sr=dbaron 2008-04-06 04:34:14 -07:00
dholbert@cs.stanford.edu
e8be5abb47 Whitespace-only change: clean up parameter indentation in nsTableRowGroupFrame 2008-04-02 14:52:04 -07:00
bzbarsky@mit.edu
b55f4a5c9e Invalidate things correctly when the caption or inner table is resized. Bug 424465, r=bernd, sr=roc 2008-04-01 14:53:19 -07:00
bmlk@gmx.de
ce0b61a41b lookup all columns for possible originating cells, bug 423514 r/sr=bzbarsky a=mtschrep 2008-03-26 22:03:02 -07:00
dbaron@dbaron.org
128863679e Don't do translation during table border painting. b=421069 Patch by Robert O'Callahan <roc@ocallahan.org>. r+sr=dbaron approval1.9b5=damon 2008-03-20 18:18:30 -07:00
dbaron@dbaron.org
c633f035a4 Backing out bug 421069 (which I landed earlier today for roc) because it caused bug 424016. 2008-03-19 22:58:00 -07:00
dbaron@dbaron.org
9e7d833654 Don't do translation during table border painting. b=421069 Patch by Robert O'Callahan <roc@ocallahan.org>. r+sr=dbaron 2008-03-19 16:02:38 -07:00
dbaron@dbaron.org
f31447da64 Fixing asymmetry between what timeless landed for bug 394114 and what he backed out. 2008-03-19 15:05:04 -07:00
timeless@mozdev.org
f33eb4a3b4 reverting, wrong patch, missing AMBIGUOUS 2008-03-19 14:55:22 -07:00
bzbarsky@mit.edu
b607f1de90 Invalidate tables a little harder. Bug 421632, r+sr=roc 2008-03-16 13:32:48 -07:00
bmlk@gmx.de
31a48f3747 make the lineiterator interface for tables a little more sane bug 388700 r/sr=roc a=mtschrep 2008-02-20 12:22:18 -08:00
bmlk@gmx.de
e8a8395029 document the lineiterator interface and all its current flaws. Make :GetNextSiblingOnLine more efficient. bug 388700 r/sr=roc a=mtschrep 2008-02-09 09:10:58 -08:00
bzbarsky@mit.edu
8b8a07f4a7 Fix bug 416073: invalidate more things as needed during table reflow to prevent glitches. r+sr=roc 2008-02-08 01:36:32 -08:00
dholbert@cs.stanford.edu
ab4b6e0c48 Bug 403669 - Dirty the table geometry when we split row groups. r+sr=dbaron, a=blocking1.9+ 2008-01-26 17:54:48 -08:00
bmlk@gmx.de
b87613ce0a do not compare with a unconstrained size, bug 390049 r/sr=roc a=mtschrep 2008-01-19 22:42:31 -08:00
bmlk@gmx.de
448be7cc89 when splitting rowgroups the space that is left on the page is computed from relative to the bottom, bug 373400 r=sharparrow1 sr=dbaron a=blocking 1.9+ 2007-12-02 11:19:00 -08:00
roc+@cs.cmu.edu
0239fded6b Bug 397428. Return 'complete' on *all* paths whenever we push a rowgroup to the next page. r=bernd,sr=bzbarsky,a=schrep 2007-11-11 17:45:56 -08:00
bzbarsky@mit.edu
21e0d65a42 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
jwalden@mit.edu
e3c4baccae 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