Commit Graph

66 Commits

Author SHA1 Message Date
Robert O'Callahan
c7acef03ff Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel
--HG--
rename : layout/generic/nsFrameFrame.cpp => layout/generic/nsSubDocumentFrame.cpp
extra : rebase_source : f7bd38670a03e8a7f3f8c40838af114be79b06f1
2010-08-31 12:49:12 +12:00
Robert O'Callahan
812e6204ae Bug 584282. Use nsDisplayItem::ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame, wherever possible. r=tnikkel,a=dbaron
--HG--
extra : rebase_source : 730ba8640cb37bd8484ff069b5d6fd46d9bc3e84
2010-08-13 22:01:58 +12:00
Robert O'Callahan
a581cd6197 Bug 584282. Add nsDisplayItem::mToReferenceFrame and initialize it in the constructor. r=tnikkel,a=dbaron
--HG--
extra : rebase_source : 496cbde7c495eb8872c3d0ffc0ca4c57c2a6a777
2010-08-13 22:01:13 +12:00
Michael Ventnor
8139bee929 Bug 564991. Part 3: Create unique nsDisplayItem types for every single display item. r=tnikkel 2010-07-16 09:07:49 +12:00
Bernd
0e0a9adab0 bug 558574 - fix issues with table footer placement and missed page breaks inside of row groups r=roc 2010-05-13 16:15:49 +02:00
Bernd
35ecb8625d bug 553972 - split row groups only if the available height isconstrained r=roc 2010-05-13 16:15:31 +02:00
Ehren Metcalfe
e0ac5d5547 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
Robert O'Callahan
9a2ed61b34 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Bernd
1144f148f4 bug 505894 remove double null check r=timeless 2010-03-06 10:53:03 +01:00
Bernd
65b8d4cc9c bug 229247 remove no op quirk code r=bzbarsky 2010-03-06 10:53:02 +01:00
Bernd
547f5ac844 bug 28800 remove support for scrollable rowgroups moa=roc r=bzbarsky 2010-01-16 17:05:46 +01:00
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