Commit Graph

60 Commits

Author SHA1 Message Date
Bernd
e1300ce0f1 bug 460637 - the group cellmaps need to set the damageArea relative to the entire table, patch by Mats Palmgren, Randell Jesup and Bernd, r=mats, bernd 2011-10-27 09:58:44 -04:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Ehsan Akhgari
bdc5c5427c Bug 659828 - Part 1: Apply table margins to the outer table frame instead of the inner table frame (also fixes bug 87277); r=dbaron
Outer table frames act as CSS2.1 table wrapper boxes.  We used to lay them out
without taking their margins into the account, which meant that their width was
always equal to the available width.  This breaks horizontal positioning of
absolutely positioned kids of a table frame.

The main purpose of this patch is to apply the margins of tables to their outer
frame, instead of the inner frame.  This means that the inner table frame will
always have a zero margin, which means that a lot of the stuff which used to
rely on the fact that table margins are applied to the inner frame need to
change.

In particular, in order to get the computed margins of a table, we used to query
the inner table frame, and this patch corrects that.  Also, when shrink wrapping
tables, we used to not take the margins of the inner table frame into account,
which is fixed by this patch too.  nsBlockReflowState::
ComputeReplacedBlockOffsetsForFloats also needed to be changed to read the
margin values from the outer frame too.

Also, as part of this patch, we start to respect the CSS2.1 margin model for
captions on all sides.  This means that in particular, the top/bottom margins on
the top-outside and bottom-outside captions will not be collapsed with the
top/bottom margins of the table, and that the margins of the caption element
contribute to the width and height of the outer table frame.  The
427129-table-caption reftest has been modified to match this new behavior.

Another side effect of this bug is fixing bug 87277, and the reftests for that
bug are marked as passing in this patch.
2011-05-31 19:02:56 -04:00
Ehsan Akhgari
c15d8c0733 Bug 10209 - Part 6: Implement the CSS "containing block" concept correctly as a binary relation, as opposed to a unary relation; r=bzbarsky 2011-05-12 00:04:30 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mats Palmgren
4a82c200c1 Bug 685154 - Cleanup nsIFrame::GetParentStyleContextFrame and related code. r=roc
Make nsIFrame::GetParentStyleContextFrame return the frame directly
instead of indirectly through an out parameter.  Remove the unused
nsPresContext parameter.
2011-09-12 09:08:07 -07:00
Felix Fung
9bb0edf799 Bug 577266 - Correct misspellings in source code 2011-09-06 17:20:35 -07:00
Mats Palmgren
6894179e71 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Ehsan Akhgari
e48161b8ff Bug 677661 - Remove nsTPtrArray and add a SafeElementAt(index_type) API to nsTArray when it's instantiated with a pointer type; r=sicking 2011-08-10 01:36:00 -04:00
Jan Küchler
5ef6bf26cf Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
L. David Baron
08c54cb878 Fix all ReflowChildren methods in table code to avoid unnecessary NS_METHOD and NS_IMETHOD, and one that takes an overflow area to handle it correctly. (Bug 542595, patch 18) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07:00
L. David Baron
60e0eec2b0 Make parameters to nsTableFrame::InvalidateFrame, nsTableFrame::PlaceChild, and nsTableRowGroupFrame::PlaceChild be the visual overflow rect. (Bug 542595, patch 17) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07: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
Robert O'Callahan
b004c93cb1 Bug 579258. Change IsVaryingRelativeToMovingFrame to take the 'moving frame' as a direct parameter instead of getting it from the builder. r=tnikkel,a=joe 2010-08-13 21:54:37 +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
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
547f5ac844 bug 28800 remove support for scrollable rowgroups moa=roc r=bzbarsky 2010-01-16 17:05:46 +01:00
fantasai
1ffb0c06ef Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05: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
5fefb45a48 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
c749fe8981 Bug 504221 part 8. Make CreateAnonymousColFrames saner. r=bernd, sr=roc 2009-07-28 08:53:18 -04:00
Boris Zbarsky
db6ff446ab 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
b0259fd19b Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Michael Kohler
404670f1f3 Bug 106386 - Correct misspellings in source code (old); Part 2; r=timeless 2009-07-27 10:47:02 +02:00
Robert O'Callahan
4ef62fb0ed Bug 371839. Remove ParentDisablesSelection, which is effectively unused. r=bzbarsky
--HG--
extra : rebase_source : 920c501f033e026709ec15792cadbb2f24462a0a
2009-07-27 10:06:30 +12:00
Robert O'Callahan
fb7ad45e60 Bug 371839. Remove useless SetSelected implementations. r=bzbarsky
--HG--
extra : rebase_source : 57629a43328f3dbc97a5d0595186a32150722db4
2009-07-27 10:03:16 +12:00
Robert O'Callahan
f26c241975 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
ce52d35f28 bug 240245 remove some bizarre col frame construction code that is never called. r=bzbarsky 2009-07-12 19:47:10 +02:00
Bernd
8aa449421d 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
a52d85f388 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
1b7eae0fba 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
307ccebf4c Bug 484448. Fix handling of whitespace kids of table-related frames. r=bernd, sr=roc
--HG--
rename : layout/reftests/table-anonymous-boxes/white-space-1.html => layout/reftests/table-anonymous-boxes/white-space-7.html
2009-04-08 12:56:16 -04:00
Boris Zbarsky
25164496ef Backed out changeset 0ea22856b5d9 (bug 484448). 2009-04-08 15:56:43 -04:00
Boris Zbarsky
f70fe28e08 Bug 484448. Fix handling of whitespace kids of table-related frames. r=bernd, sr=roc
--HG--
rename : layout/reftests/table-anonymous-boxes/white-space-1.html => layout/reftests/table-anonymous-boxes/white-space-7.html
rename : layout/reftests/table-anonymous-boxes/white-space-1-ref.html => layout/reftests/table-anonymous-boxes/white-space-ref.html
2009-04-08 12:56:16 -04:00
Bernd
acce04933d 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
3ba502a047 remove dead debugging code r/sr=bzbarsky bug 475075 2009-02-08 17:45:28 +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
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
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
ffc4c848b4 trigger fixed layout if the width cahnges from auto to fixed, bug 426629r/sr=dbaron 2008-10-18 19:25:26 +02:00
L. David Baron
bb1dbb4eec For fixed-layout tables, leave room for the cell spacing for all columns, whether they have cells originating in them or not, since we don't know if cells for those columns will arrive as the table loads incrementally. (Bug 444928) r=bernd sr=roc 2008-09-24 10:14:35 -07:00
Graeme McCutcheon
b6ce570b3c Bug 451252 - "Highlight All" find selection not visible in elements that have -moz-user-select: none set; r+sr=roc 2008-09-07 16:12:50 +02: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
roc+@cs.cmu.edu
35910e2c7c Bug 316500. Fix merge regression so that fixed-background tables display correctly. r+sr=mats,a=damon 2008-04-21 15:00:48 -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