Commit Graph

136 Commits

Author SHA1 Message Date
Simon Montagu
84a46f035b Bug 1067268: don't mix physical and logical coordinates when calculating width to clear past floats, r=jfkthame 2014-10-04 23:03:00 -07:00
Jonathan Kew
9f0ce791fe bug 1059167 - fix accidental regression in FloatMarginWidth. r=smontagu 2014-08-28 16:00:02 +01:00
Jonathan Kew
bbc235583a bug 1046950 pt 2 - convert ComputeSize to use logical-coordinate parameters. r=smontagu 2014-08-24 15:34:44 +01:00
Jonathan Kew
89af1f05c5 bug 1031241 pt 4 - Rename the {MIN,PREF}_WIDTH constants used to identify the type of intrinsic inline-size. r=smontagu 2014-07-24 18:03:26 +01:00
Simon Montagu
62a78bb0c4 Bug 1037903: convert from frame's writing mode to block's writing mode in GetBEndMarginClone. r=jfkthame 2014-07-14 01:59:30 -07:00
Mats Palmgren
b5c267b13f Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Phil Ringnalda
92fe6a5293 Back out 5 changesets (bug 1028460, bug 1031444) for somehow breaking asmjscache/test/test_cachingBasic.html on Android 2.2
Backed out changeset 0b5918ec6521 (bug 1031444)
Backed out changeset 663ff18cd4a1 (bug 1028460)
Backed out changeset ae01b3919c8c (bug 1028460)
Backed out changeset 316c8dfeca9b (bug 1028460)
Backed out changeset e237b2c61ea2 (bug 1028460)
2014-06-28 22:01:28 -07:00
Mats Palmgren
d11737c8ef Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
L. David Baron
c6d8a59ab8 Followup to Bug 789096 patch 8: fix indentation. No review.
The mis-indentation of the second argument to std::max predated this
patch (probably due to a substitution from something else to std::max),
and led to further misindentation in this patch.
2014-06-26 15:28:43 -07:00
Mats Palmgren
80a8564a26 Bug 1025669 - part 2, some minor cleanup. r=roc 2014-06-24 17:52:19 +00:00
Mats Palmgren
4221abee97 Bug 1025669 - part 1, Implement layout of block margins for box-decoration-break:clone. r=roc 2014-06-24 17:52:19 +00:00
Mats Palmgren
09115940e1 Bug 1025669 - part 0, Add BaseMargin::ApplySkipSides, remove nsIFrame::Apply*SkipSides, and change call sites to use the former. r=roc 2014-06-24 17:52:19 +00:00
Simon Montagu
5eca90017f Bug 789096 patch 8: use logical coordinates in nsBlockReflowState. r=jfkthame 2014-06-20 02:55:35 -07:00
Mats Palmgren
81d314f8e6 Bug 998535 - Apply GetSkipSides to block border+padding to make it for work for box-decoration-break:clone. r=roc 2014-05-12 11:45:28 +00:00
Simon Montagu
d89cfb8610 Make nsLineBox.mBounds a LogicalRect. Bug 789096, r=jfkthame 2014-04-16 01:03:28 -07:00
Daniel Holbert
50a0c7d717 Bug 967287 part 1: Remove unnecessary nsPresContext* argument from functions defined in nsContainerFrame.h. r=mats 2014-02-06 14:07:47 -08:00
Jonathan Kew
b9938a1edc bug 735577 - pt 3.2 - update the rest of layout code to use the new accessors on nsHTMLReflowState. r=smontagu 2013-12-27 17:59:21 +00:00
Ehsan Akhgari
2fb9794854 Bug 921753 - Part 1: Avoid #including nsStyleStructInlines.h in nsIFrame.h; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1782 to 1582.
2013-10-01 17:00:38 -04:00
Daniel Holbert
c191b38ac7 Bug 919871: Make .cpp files in layout/generic #include their corresponding .h file first. r=mats 2013-09-24 18:43:43 -07:00
Corey Ford
52c667104f Bug 911786 - Part 2: Reapply relative positioning when moving frames without reflowing them. r=dholbert 2013-09-11 11:51:42 -07:00
Ehsan Akhgari
80d135155d Bug 907883 - Minimize #includes in layout/generic; r=roc
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Corey Ford
b2510f37c3 Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron 2013-08-08 17:20:17 -07:00
Corey Ford
9c2fee65d8 Bug 898797 - Use nsHTMLReflowState::ApplyRelativePositioning when placing floats. r=dbaron 2013-07-29 21:53:13 -07:00
Scott Johnson
8e92c99740 Bug 743402, Part 1: Add a GetConsumedHeight() function to nsSplittableFrame in order to retrieve the portion of the computed height that was consumed by previous-in-flows. [r=roc] 2013-07-25 10:34:12 -05:00
Ryan VanderMeulen
6b307780d7 Backed out 6 changesets (bug 743402) for reftest failures on a CLOSED TREE.
Backed out changeset 19848fff857e (bug 743402)
Backed out changeset 049168537ae0 (bug 743402)
Backed out changeset 3098fea37f2d (bug 743402)
Backed out changeset ada93e976dca (bug 743402)
Backed out changeset c7907c54187f (bug 743402)
Backed out changeset 2edbbf6440c4 (bug 743402)
2013-07-24 15:14:04 -04:00
Scott Johnson
b6e4526ae0 Bug 743402, Part 1: Add a GetConsumedHeight() function to nsSplittableFrame in order to retrieve the portion of the computed height that was consumed by previous-in-flows. [r=roc] 2013-07-24 12:47:01 -05:00
L. David Baron
5e108587ad Bug 855464: Optimize nsBlockReflowState::ClearFloats better, given that nsBlockFrame::WidthToClearPastFloats is somewhat expensive. r=dholbert
This fixes a performance issue that showed up in a profile of the b2g
contacts app (though it's not clear what percentage of the time it was
given the difficulty of understanding output of 'perf').
2013-03-31 00:50:29 -07:00
L. David Baron
822b2ca3bc Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Daniel Holbert
2a2cc2f06b Bug 837000: Remove nsBlockReflowState.h's essentially-unnecessary #include of nsBlockFrame.h (and related cleanup). r=dbaron 2013-02-11 17:52:55 -08:00
Daniel Holbert
8f9051e747 Bug 836899: Remove nsBlockReflowState constructor unused parameter 'aMetrics'. r=dbaron 2013-01-31 14:40:05 -08:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
L. David Baron
236d1979ed Bug 588237, patch 4: Pull pushed floats back from the next-in-flow at the start of reflow. r=roc 2013-01-11 14:51:21 -08:00
Jeff Walden
7146c23e80 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Mats Palmgren
6f2db95cbc Bug 812879. r=fantasai 2012-11-28 19:55:36 +01:00
Mats Palmgren
b1a520c604 Bug 685012 - Implement page-break-inside:avoid in layout. r=fantasai,sr=roc 2012-11-08 17:09:38 +01:00
David Zbarsky
307c734c43 [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Matt Woodrow
958ce7d98d Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Ed Morley
c863356300 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
c73c0db2f1 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Ehsan Akhgari
5e6974df88 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
Matt Woodrow
cbd39105d9 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00
Ed Morley
c5acb642c1 Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
L. David Baron
88a762e752 Replace AutoMaybeNullInflationContainer with AutoMaybeDisableInflationForShrinkWrap since the concept of the pres context's current inflation container will be going away. (Bug 747720, patch 2) r=roc 2012-05-20 22:18:27 -07:00
Mats Palmgren
86aed91a8e Bug 730769 - Add NewLineBox/FreeLineBox methods to nsBlockFrame. part=1/2 r=bz 2012-03-11 03:32:27 +01:00
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
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