Commit Graph

466 Commits

Author SHA1 Message Date
L. David Baron
a7425ba7e8 Set inflation container to null during ComputeSize calls for inflation containers, when we should not have inflation applied. (Bug 706609, patch 4.5) r=roc 2012-01-24 17:21:29 -08:00
L. David Baron
185e4fa106 Set inflation container to null during parts of intrinsic sizing that should not have inflation applied. (Bug 706609, patch 4) r=roc
This is the first of two patches to honor inflation during intrinsic
width calculation (which we need to do to make some form controls
inflate correctly).
2012-01-24 17:21:29 -08:00
Mats Palmgren
bae2f34900 Bug 720142 - Avoid calling GetFirstInFlow() on the row group twice. r=bernd 2012-01-22 23:48:34 +01:00
Mats Palmgren
b90c5a5956 Bug 720142 - Only calculate the border half we actally use. r=bernd 2012-01-22 23:48:34 +01:00
Mats Palmgren
1aca4ac3f0 Bug 720142 - Use nsIntRect for table damage. r=bernd 2012-01-22 23:48:34 +01:00
Daniel Holbert
94f65a8ac5 Bug 716738: Label layout/tables as gcc-warning-free with FAIL_ON_WARNINGS. r=dbaron 2012-01-19 21:33:20 -08:00
Mats Palmgren
9d52d983fd Bug 524925 - Consolidate overflow clipping checks to nsFrame::ApplyOverflowClipping(); and fix some code style nits. part=5/6 r=roc 2012-01-18 21:04:51 +01:00
Benjamin Stover
0a52de4032 Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.

There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Mats Palmgren
e8ff15868b Bug 716408 - Fix nsTableFrame::DidSetStyleContext indentation. r=bernd 2012-01-17 00:38:10 +01:00
Mats Palmgren
fcc16b8213 Bug 716408 - Assert that a prev-in-flow is null or of the same frame type. No need to null out mCellMap, the ctor does that and re-Init of frames isn't allowed. r=bernd 2012-01-17 00:38:10 +01:00
Mats Palmgren
5ef72d38e7 Bug 716408 - No need to null-check for delete, no need to null out members in dtor. r=bernd 2012-01-17 00:38:10 +01:00
Mats Palmgren
e123cb15b5 Bug 716408 - Initialize all bits of mBits to zero. r=bernd 2012-01-17 00:38:10 +01:00
Mats Palmgren
4928751209 Bug 716408 - Make nsTableFrame::GetTableFrame abort if the given frame isn't a table frame descendant, thus guaranteeing a non-null result. r=bernd 2012-01-17 00:38:10 +01:00
Mats Palmgren
fb9059334e Bug 716408 - Remove unnecessary nsTableFrame::GetFirstInFlow() calls to get IsBorderCollapse() bit. r=bernd 2012-01-17 00:38:10 +01:00
Mats Palmgren
c06bb838db Bug 716408 - Remove null-checks of GetFirstInFlow() result. r=bernd 2012-01-17 00:38:10 +01:00
Bernd
48a69ce9d3 bug 711864 - dEndY is already in the rowgroup r=mats 2012-01-09 07:37:16 +01:00
Bernd
e70661435d bug 710098 - use effective rowspan r=mats 2011-12-29 09:17:55 +01:00
Mats Palmgren
9cc6cc3865 Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
Andrew Quartey
e0c0eaae24 Bug 507419-Consistent ordering of AppendFrames and InsertFrames 2011-12-27 09:31:22 +01:00
Bernd
bc16226345 bug 531200 - always set the desiredHeight, also if SplitSpanningCells does not split any cell r=dholbert 2011-12-27 09:31:10 +01:00
Bernd
149c57c309 bug 711359 - mark all subsequent rows as damaged r=mats 2011-12-27 09:31:09 +01:00
Nicholas Nethercote
56767a7167 Bug 711908 - Fix a bunch of GCC warnings in layout. r=dbaron. 2011-12-19 19:46:39 -08:00
Mats Palmgren
1e2a52a8bd Bug 619273 - Move the selection state bit from frames to content nodes. r=smaug 2011-12-20 10:15:41 +01:00
Bernd
bdb0e641cc bug 707622 - rows without originating cells are suppressed at the table bottom r=mats 2011-12-07 20:38:25 +01:00
Bernd
a39d9df530 followup on bug 460637 2011-12-04 07:20:09 +01:00
Bernd
86d65398f0 bug 705996 - the damageArea should only be set once the columns are in shape r=mats 2011-12-03 07:21:16 +01:00
Bernd
337a25f682 bug 451355 - testcase is now wfm 2011-12-03 07:21:16 +01:00
Bernd
9feb70c497 bug 467444 - firstTruncatedRow can not be the last row on page if it should be pushed r=dholbert 2011-12-01 07:34:30 +01:00
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
L. David Baron
1fc147e17f Don't construct cell reflow states with a row group reflow state as their parent; instead, always link in a table row reflow state as appropriate. (Bug 627842, patch 3.875) r=roc
Fixes assertion on layout/reftests/bugs/409084-1a.html once the rest
of the inflation patches land.
2011-11-23 18:48:23 -08:00
Ed Morley
6a998be2c5 Backout 4997c6f8b24d (bug 616542) for causing locally run mochitest-browser-chrome test runs to fail 2011-11-05 18:35:59 +00:00
Rail Aliiev
364e83c545 Bug 616542 - Shorten file path length of mochitest; r=ted 2011-11-04 21:13:42 +00:00
Jonathan Watt
8a0b72332d Bug 695303 - Add a mozilla::clamped function to replace NS_CLAMP (so side affects of args are evaluated no more than once) and NS_MIN(max, NS_MAX(val, min)) (to make code clearer). r=bsmedberg. 2011-10-28 19:33:28 +01:00
Bernd
51b37008cb bug 695430 - stop trying to insert previously emptied framelists r=bzbarsky 2011-10-24 21:22:33 +02: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
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