Commit Graph

481 Commits

Author SHA1 Message Date
Matt Woodrow
3da7419584 Bug 692968 - Make nsDisplayTableItem::GetBounds return the untransformed overflow area. r=tn 2011-10-13 14:01:27 +13:00
Ehsan Akhgari
0d262e6465 Bug 691824 - Return the principal child list for outer table frames only once; r=roc 2011-10-06 18:03:45 -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
Ehsan Akhgari
ef73506d4d Bug 10209 - Part 5: Allow table elements to act as absolute positioning containers; r=roc 2011-05-09 20:36:10 -04:00
Ehsan Akhgari
b273fc68d8 Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -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
Boris Zbarsky
342f965d4f Bug 688405. Allow rowspans up to 65534, up from our current 8190. r=bernd 2011-09-26 00:52:33 -04:00
Mats Palmgren
913f71131c Bug 685901 - Remove the nsTableOuterFrame::mInnerTableFrame and mCaptionFrame members in favor of accessing the child frame lists directly. r=roc 2011-09-12 09:08:07 -07:00
Mats Palmgren
ba8355dd94 Bug 685154 - Cleanup nsIFrame::GetParentStyleContextFrame and related code. r=roc
Make nsCSSFrameConstructor::ConstructTable return a null frame if
creating the inner table frame fails.  Simplify some code since we can
now depend on the invariant that a properly created outer table frame
always has a non-null inner table frame.
2011-09-12 09:08:07 -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
Masayuki Nakano
d9869bfccf Bug 669028 part.13 layout should use mozilla::LookAndFeel rather than nsILookAndFeel r=roc 2011-09-09 11:27:13 +09:00
Felix Fung
9bb0edf799 Bug 577266 - Correct misspellings in source code 2011-09-06 17:20:35 -07:00
Boris Zbarsky
f4f8fa2085 Bug 683952. Speed up iterating over the continuations of the frame when scrolling to it. r=roc 2011-09-06 22:57:46 -04:00
Phil Ringnalda
74787fa14f Back out fc945dec50bb and de06684dabc4 (bug 642551), 64c328251a24 (bug 683952) and 9d0d13998ebb (bug 684544) for orange on a CLOSED TREE 2011-09-06 21:42:54 -07:00
Boris Zbarsky
5ee508215f Bug 683952. Speed up iterating over the continuations of the frame when scrolling to it. r=roc 2011-09-06 22:57:46 -04:00
Ms2ger
0038e2e573 Bug 684807 - Annotate crashtest assertions on Android; r=philor 2011-09-06 18:35:43 +02:00
Michael Wu
990540dee3 Bug 676188 - Misc misuses of PRBool caught by the compiler, r=jimm,jst,bz,dougt,roc,mak 2011-08-30 11:55:14 -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
Mats Palmgren
f06792a6ef Bug 653649 - New way of getting child lists from frames. (part 3/5) r=roc
Update GetAdditionalChildListName consumers to use the new
child list iterator instead.
2011-08-24 22:54:29 +02:00
Mats Palmgren
90d0315f85 Bug 653649 - New way of getting child lists from frames. (part 2/5) r=roc sr=dbaron
Implement GetChildList(ChildListID) and GetChildLists(nsTArray<ChildList>*)
for various frame classes.  Remove GetAdditionalChildListName(PRInt32)
methods and associated macros and list index constants.
2011-08-24 22:54:29 +02:00
Bernd
d39ebba03b bug 675490 - push nonplaced tfoots and mark them as nonrepeating r=bz 2011-08-13 18:37:43 +02:00
Bernd
539f4434ae bug 678447 - prevent splitting of tables inside columnsets during printing r=roc 2011-08-13 18:37:43 +02:00
Malini Das
a0832b693a Bug 367393 - Add a packed MochiKit that contains only SimpleTest dependencies- plain tests 2/2. r=jmaher, a=test-only 2011-08-12 12:21:44 -04: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
Bernd
5edcc44099 Bug 642088 - Subtract the caption height and vertical margins from the available height before reflowing the inner table frame. r=bzbarsky 2011-07-26 19:22:46 +02:00
Ms2ger
1ffb61c054 Bug 670500 - Make nsCellMap::Init return void; r=roc 2011-07-15 12:18:33 +02:00
Ms2ger
01867114b9 No bug - Fix assertion in nsCellMapColumnIterator::GetNextFrame; r=bz 2011-07-03 11:53:39 +02:00
Ehsan Akhgari
c4436101c8 Back out bug 10209 and bug 656875 (its regression fix) from Aurora because the work on this bug has not been finished yet
--HG--
extra : transplant_source : t%9F%EB%2Aa%A4%C0%9Ab%A5%DDQ%3EMD%5E%01h%E7%2A
2011-06-01 16:18:15 -04:00
Bas Schouten
1fb2634ff2 Bug 651858 - Part 1: Add the Azure API and Direct2D backend. r=jrmuizel sr=roc
--HG--
rename : gfx/src/BaseMargin.h => gfx/2d/BaseMargin.h
rename : gfx/src/BasePoint.h => gfx/2d/BasePoint.h
rename : gfx/src/BaseRect.h => gfx/2d/BaseRect.h
rename : gfx/src/BaseSize.h => gfx/2d/BaseSize.h
2011-06-24 19:41:16 +02:00
Dominic Fandrey
0ab2f46136 Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-06-02 14:56:50 +02:00
Craig Topper
4e38ca20a7 Bug 658143 - Part 1: Changes nsCOMPtr<nsFrameSelection> to nsRefPtr. r=roc 2011-05-18 20:10:49 -07:00
Ehsan Akhgari
e4c89e2e5d Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
Robert O'Callahan
72627bced2 Bug 641426. Part 6: Rename Empty to SetEmpty. r=cjones 2011-04-19 15:07:23 +12:00
Robert O'Callahan
763a5f47a7 Bug 641426. Part 4.2: Rename BaseMargin::side to BaseMargin::Side. r=cjones 2011-04-19 15:07:22 +12:00
Robert O'Callahan
75ad705b3b Bug 641426. Part 3.5: Remove usage of nsMargin::TopLeft and nsMargin::IsZero. r=dbaron 2011-04-19 15:07:22 +12:00
Zack Weinberg
f5a0843ac7 Bug 266236 part 9: Move nsBoundingMetrics to its own header and prune inclusions of nsRenderingContext.h.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 92660748436f03475e011184e2828f1db0ad63e0
2011-04-07 18:04:40 -07: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
Jan Küchler
0e92a9d34a Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext.
--HG--
extra : rebase_source : a21ffad484f47103e403b8316eae5fdfd815c2cb
2011-04-07 18:04:39 -07:00
timeless@mozdev.org
715ad2db40 Bug 618830 initial assignment to kidNextInFlow is useless in nsTableFrame::ReflowChildren
r=bz
2011-03-28 16:50:13 -04:00
Boris Zbarsky
d7d7817aa0 Bug 644576. Make sure that when we set up our iterator we don't decide we're done if the first row in our damage range contains no cells in our damage range. r=roc 2011-03-28 10:49:48 -04:00
timeless@mozdev.org
80f1c76ffd Bug 620311 crash [@ nsTableFrame::MatchCellMapToColCache | nsTableFrame::RemoveFrame] because cellMap guard did not cover MatchCellMapToColCache
r=bernd
2011-03-26 00:37:35 -04:00
timeless@mozdev.org
1278fea739 Bug 620259 - add fall through comments to nsTableCellMap::SetNotTopStart and rename to nsTableCellMap::ResetTopStart
r=bernd a=dbaron
2011-02-16 14:14:18 +01:00
timeless@mozdev.org
7a3c914e20 Bug 620312 crash [@ nsTableFrame::InsertCol] because lastColGroup guard did not cover lastColGroup->GetColCount() r=bernd a=dbaron 2011-02-15 19:35:52 -05:00
Alexander Surkov
f1d1126c15 Bug 628922 - layout should use cached nsIAccessibilityService, r=davidb, sr=roc, a=roc 2011-01-28 12:38:14 +08:00
Jesse Ruderman
c600aa2ed1 Bug 533380 - add crashtest 2010-12-12 12:54:27 -08:00
timeless@mozdev.org
ed1b060a46 Bug 617637 nsTableFrame::PushChildren imagines it can pass null to [@ nsFrameList::RemoveFrame] violating its preconditions
r=bz
2010-12-09 11:57:03 +01:00
Boris Zbarsky
315d8d3845 Bug 614397. Always descend through all placeholders while doing any sort of selection display list. r=roc, a=roc 2010-12-07 08:54:50 -05:00
timeless@mozdev.org
0d174bacf1 Bug 615265: unused variable textStyle in nsTableCellFrame::VerticallyAlignChild. r=bz a=bz 2010-11-30 21:27:29 -08:00
Bernd
4c3ef99212 Test for bug 595758. a=test 2010-11-14 19:26:36 +01:00
Martijn Wargers
2afb4527af Test for bug 595758. a=test 2010-11-14 19:26:36 +01:00
Mats Palmgren
5110560c60 Bug 595758 - Crash [@ nsTableFrame::MarkIntrinsicWidthsDirty] on print preview. r=dbaron a=blocking2.0:betaN 2010-11-14 19:26:36 +01:00
Mats Palmgren
0967da1c99 Bug 576890 - Crash [@ nsFrameList::InsertFrames] on print preview. r=roc a=blocking2.0:final 2010-11-07 18:27:46 +01:00
L. David Baron
a56a24a514 Change callers to use new nsIFrame overflow APIs. (Bug 542595, patch 20) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:47 -07:00
L. David Baron
40d60928c6 Fix miscellaneous reflow methods to use new overflow area APIs. (Bug 542595, patch 19) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -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
L. David Baron
ce12d2bcea Fix the way table cells consider overflowing collapsed borders for split overflow areas. (Bug 542595, patch 16) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07:00
L. David Baron
d86ede8347 Change FinishAndStoreOverflow API to take two overflow areas. (Bug 542595, patch 4) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
Bobby Holley
dbade7f8ac Bug 592493 - Register border-images with the document image tracker.r=dbaron 2010-09-07 17:30:40 -07:00
L. David Baron
4f34aba74d Add border-radius-related helper functions to nsIFrame. (Bug 459144, patch 6) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:35 -07:00
L. David Baron
5957dcd320 Consolidate table-cell vertical align code. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-31 12:05:12 -04:00
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
L. David Baron
b99a005c4c Add support for calc() to the 'min-width' and 'max-width' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:56 +02:00
L. David Baron
091d6b7837 Add support for calc() to the 'height', 'min-height', and 'max-height' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:55 +02: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
Edmund Wong
7ef58c704b Bug 585336: Fix "a the" in comments (for General core code). r=timeless a=NPOTB (comment-only) 2010-08-15 15:50:02 -07: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
L. David Baron
ee89e22866 Add support for calc() to the 'width' property. (Bug 585715) r=bzbarsky a2.0=blocking2.0+ 2010-08-11 12:32:53 -07: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
Jeff Muizelaar
75e7a61789 Bug 577357. Remove use of floating point from BC_BORDER_*_HALF_COORD macros. r=bz
Twips per pixel is an integer so these macros don't need to use floating point.
2010-07-08 17:16:52 -07:00
Boris Zbarsky
8c74716ec1 Bug 573354. Don't assert things that aren't true. r=bernd 2010-07-02 16:56:09 -04:00
Jesse Ruderman
14ecbf3e68 Add bug numbers for all remaining asserts() annotations in crashtests and reftests 2010-07-01 19:33:56 -07:00
Alexander Surkov
1b2bbba526 Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Jesse Ruderman
fb054fc73e Add some crashtests and reftests
--HG--
extra : rebase_source : a167ccf140387fa50e3668422b5a74bea0527255
2010-06-17 13:21:24 -07:00
L. David Baron
c10e106834 Remove unused frame state bits. (Bug 570837) r=roc 2010-06-08 22:28:14 -07:00
L. David Baron
d574dd00ce Use macros for frame state so that it's easy to change the size and easier to read the constants. (Bug 570837) r=roc 2010-06-08 22:28:14 -07:00
Bernd
7593d0501d bug 567835 - add parentheses to make the required logic to happen r=dholbert 2010-05-27 07:31:11 +02:00
Bernd
b9b112f6a2 bug 564054 - rebuild cellmap if inserted rows contain a zero rowspan r=bzbarsky 2010-05-13 16:15:50 +02: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
L. David Baron
7c61f15cf1 Annotate remainder of crashtest mainfests (all but one test) with the tests that are known to assert. (Bug 472557) 2010-05-06 09:28:01 -07:00
Mats Palmgren
fea7ceabf6 Don't use enum bit-fields. r=timeless b=334571 2010-04-27 18:15:02 +02:00
timeless
83499da47b Bug 334571 Coverity 702, NS_SIDES array limit check - replace NS_FOR_CSS_SIDES defines with enum. r=zwol,mats 2010-04-27 18:15:02 +02:00
timeless
97c43a3297 Bug 334571 strip trailing whitespace. r=zwol 2010-04-27 18:15:01 +02:00
Craig Topper
9eccdbd4d7 Bug 557416: Remove unnecessary includes and forward declarations of nsIPresShell. r=roc 2010-04-10 16:09:38 -04:00
Masayuki Nakano
20fe8ca239 Bug 556694 Selection color isn't reverted when input field is specified only background-color r=dbaron 2010-04-08 21:44:57 +09:00
Felipe Gomes
960464193b Bug 489127 - nodesFromRect required for better usability on mobile devices (part 1+2) [r=roc] 2010-04-07 20:31:26 -04:00
Ehren Metcalfe
e0ac5d5547 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
L. David Baron
cf5b3270af Use the appropriate color based on visitedness for border-collapse borders. (Bug 147777) r=bernd 2010-04-02 18:58:26 -07:00
L. David Baron
7ff92ec1fa Use the appropriate color based on visitedness for nsCSSRendering::PaintBorder users of the 'border-*-color' properties. (Bug 147777) r=zweinberg 2010-04-02 18:58:26 -07:00
L. David Baron
68d7839f41 Make PaintBackgroundWithSC and related methods operate on nsStyleContext* rather than const nsStyleBackground*. (Bug 147777) r=zweinberg 2010-04-02 18:58:26 -07:00
timeless@mozdev.org
5082e3a12b Bug 552246 remove unused variable availWidth from nsTableRowFrame::CalcHeight
r=bernd
2010-04-01 08:07:22 -07: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
Robert O'Callahan
87d4ca678d Bug 551637. collapseOffsetProperty is never used. r=mats 2010-03-29 14:46:13 +13:00
Craig Topper
c3fc5fa456 Bug 554253 - Convert nsCOMPtr<nsPresContext> to nsRefPtr<nsPresContext>. r=roc
--HG--
extra : rebase_source : d828daca07188864d055f3d1a72f5217632eb358
2010-03-25 14:17:11 +01:00
Bernd
06f0fc48fa bug 378935 the border collapse code relies on having mutliple dead cell data entries in a row r=bzbarsky 2010-03-06 10:53:04 +01:00
Bernd
1144f148f4 bug 505894 remove double null check r=timeless 2010-03-06 10:53:03 +01:00
Bernd
ee60430533 bug 484256 remove remaining border widths limits that are now obsolete as borders have a 2 byte storage r=fantasai 2010-03-06 10:53:03 +01:00