Граф коммитов

429 Коммитов

Автор SHA1 Сообщение Дата
Scott Johnson a35a0ee456 Bug 746966: Conditionally set NS_FRAME_IN_CONSTRAINED_HEIGHT for font inflation on percentage-based height so fonts with room to inflate can do so. [r=dbaron] 2012-05-04 12:07:37 -05:00
L. David Baron 403a202317 Build font data structure by walking the necessary text. (Bug 706193, patch 3) r=roc
Compute the amount of text in the scope of an nsFontInflationData
object.  This walks the text that's inside of the block formatting
context at which this object is rooted, excluding the text that's inside
any nested BFC.  Using the amount of text, the font sizes of the text,
and the line threshold preference, we compute whether to enable font
size inflation within that block formatting context.
2012-04-16 15:32:12 -07:00
Mats Palmgren 5a63c27f96 Bug 740743 - Implement CSS overflow for <legend>. r=bz 2012-04-13 17:52:13 +02:00
Scott Johnson f9fc8a23c4 Bug 711418 - Enable font inflation for body and html elements with fixed heights. [r=dbaron] 2012-03-23 22:47:43 -05:00
Daniel Holbert c671210a16 Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
Mats Palmgren e21c2993a1 Bug 725376 - Don't do column balancing deeper than 5 nested levels to avoid hang. r=roc 2012-02-12 22:21:51 +01:00
L. David Baron 2a5e64f028 Apply font size inflation to 'line-height: normal' by using the metrics of the inflated font rather than multiplying the inflation by the result for the uninflated font. (Bug 706609, patch 7) r=roc
This matters primarily because it makes font inflation easier to test by
avoiding rounding differences.  It fixes two existing tests that were
disabled and also makes it possible to test font inflation of selects
(since options have line-height: normal ! important in the UA style
sheet).
2012-01-24 17:21:29 -08:00
L. David Baron 3ab74c44b6 Switch nsLayoutUtils inflation methods to the new setup with state on the pres context. (Bug 706609, patch 5) r=roc
This is the third of three patches to rework the way we handle getting
the font inflation container and width data during reflow, which are
needed so that we can sometimes 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
L. David Baron ac8b4c103a 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 a882b048ce Set inflation container and width correctly during reflow. (Bug 706609, patch 3) r=roc
This is the second of three patches to rework the way we handle getting
the font inflation container and width data during reflow, which are
needed so that we can sometimes honor inflation during intrinsic width
calculation (which we need to do to make some form controls inflate
correctly).
2012-01-24 17:21:28 -08:00
L. David Baron 128e6b425f Apply font size inflation to line heights. (Bug 627842, patch 11) r=roc
Since font size inflation applies to the text after style data
computation, we must separately apply this inflation to line heights.
2011-11-23 18:48:23 -08:00
L. David Baron 8031beb59b When font size inflation is enabled, horizontal resizes of blocks must cause a full dirty reflow. (Bug 627842, patch 5) r=bzbarsky
This change is sufficient because the places that set mHResize to true
other than InitResizeFlags and nsFrame::BoxReflow aren't a problem
because they're in table code whose goal is to force the reflow to
propagate down to the cell, and once we reach the cell we'll hit the
code we've added here.
2011-11-23 18:48:23 -08:00
L. David Baron d1799c8949 Set an NS_FRAME_IN_CONSTRAINED_HEIGHT state bit on frames that are in a constrained space. (Bug 627842, patch 2) r=roc 2011-11-23 18:48:23 -08:00
Boris Zbarsky 4c3de632c6 Bug 683712. Add a null-check to avoid bogus assumptions about blocks not being reflow roots. r=mats 2011-11-08 23:22:36 -05:00
Boris Zbarsky 04e3b1c37e Merge backout of bug 641341. 2011-11-07 00:27:17 -05:00
Boris Zbarsky 77869861dd Backed out changeset 0cd9ed297f73 (bug 641341) to fix bug 696175. r=roc 2011-11-07 00:25:56 -05:00
Boris Zbarsky acfc104f91 Bug 641341. Speed up CalculateHypotheticalBox for the case of a block containing a bunch of lines but absolutely no in-flows anywhere. r=roc 2011-10-04 23:47:08 -04:00
Jesse Ruderman 618657cc85 Bug 675553 followup: remove tautologous assertions. r=ehsan 2011-10-24 16:21:09 -07:00
Daniel Holbert 4c2688076c Bug 693801: Remove redundant initialization for nsHTMLReflowState::mFlags.mIsTopOfPage. r=dbaron 2011-10-21 13:41:12 -07:00
Ehsan Akhgari 84003da2d1 Bug 659828 - Part 2: Avoid calling nsIFrame::GetType needlessly in nsHTMLReflowState; r=roc 2011-06-10 19:02:14 -04:00
Ehsan Akhgari 8e0b5e9b27 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 c4f365dd4e 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 30f43ed109 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 92ce234a01 Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
Michael Wu ac54b41b01 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 e15517b1ab 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
L. David Baron b8dd21ec1b Make hypothetical box calculation consider types that are inline-outside rather than just inline. (Bug 505706) r=bzbarsky
Change the "hypothetical box" calculations that we do for 'auto'-offset
absolutely positioned elements take its inline codepath (using
horizontal position of placeholder, and placing even with the top of the
placeholder's line) rather than its block codepath (using the horizontal
edge of the containing block, and placing below the placeholder's line)
when display types are display-outside:inline types other than
display:inline.
2011-07-28 18:11:51 -07:00
Ehsan Akhgari 1deb9f1504 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 f3e14ab46c 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
L. David Baron ad20a212a0 Remove notion of percentage of intrinsic size: remove code that handles percentages (which are no longer set thanks to the previous patch) and make them invalid. (Bug 611099) r=dholbert
Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-06-12 18:52:32 -07:00
Masayuki Nakano f6d218f2cd Bug 660121 Remove all pref related methods from nsContentUtils r=roc 2011-05-29 08:42:57 +09:00
Masayuki Nakano 3b106893b1 Bug 659536 part.2 Replace nsContentUtils::GetIntPref() with Preferences::GetInt() or Preferences::GetUint() r=roc 2011-05-25 15:32:00 +09:00
Masayuki Nakano 75d9ba5fe6 Bug 659533 Replace nsContentUtils::GetBoolPref() with Preferences::GetBool() r=roc 2011-05-25 15:31:59 +09:00
Ehsan Akhgari f57792c77d Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
Masayuki Nakano 996d9b4fda Bug 647421 -moz-text-decoration-color and -moz-text-decoration-style should be reset by text-decoration r=dbaron, sr=bzbarsky 2011-04-23 14:16:41 +09:00
Zack Weinberg f8bc216403 Bug 651017, part 1: minimize inclusion of ns*DeviceContext.h; move the printing error codes to nsIDeviceContextSpec.h; os2 small widget cleanup.
--HG--
extra : rebase_source : 5b7cebe68f71a760463e3522b159c7cde8a72f5e
2011-04-16 18:22:41 -07:00
Zack Weinberg 100dba00ae Bug 174055, part 6: eliminate pointless nsresult return values. 2011-04-07 21:18:43 -07:00
Zack Weinberg 9c94b683aa Bug 174055, part 4: mechanical fixups outside gfx. 2011-04-07 18:05:49 -07:00
Zack Weinberg 2c36a76906 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 23271beb1d 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 da5e4486fd Disable parsing of 'marker', 'run-in', and 'compact' in a less hacky way. (Bug 636029) r=bzbarsky
This simply removes all the code for the values.  This removes a
special-case that would otherwise need to become more complicated in a
later patch in this series.
2011-03-05 09:58:33 -08:00
L. David Baron eb26ef4805 Fix implementation of rules for auto margins on absolutely positioned elements; honor auto margins when only one margin is auto, even when the auto margin gets a negative value. (Bug 419100) r=roc
Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-03-03 13:18:42 -08:00
Mats Palmgren 4a52cee8f3 "ASSERTION: We should have padding here" with abs pos, overflow:scroll. r=roc a=blocking2.0:final 2010-11-09 22:14:05 +01:00
L. David Baron 625b3f9181 Fix double-subtraction of opposite margin when one of margin-top/bottom is auto, for absolutely positioned elements. (Bug 604212) r=bzbarsky a2.0=roc 2010-10-17 19:36:26 -07:00
L. David Baron 0e078f1e5e Check isValid, since bindings in chrome (e.g., Fennec select binding) can make it be false. (Bug 596767) r=bzbarsky a2.0=blocking2.0:betaN 2010-10-06 21:25:47 -07:00
L. David Baron ef5b336bef Fix places where I missed clamping negative calc() to 0. (Bug 585715) r=bzbarsky a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
Daniel Holbert 6ab297b42d Bug 276431 part 3: Make nsImageFrame store an intrinsic ratio separate from its intrinsic size, and accept percentages in its intrinsic size. r=roc a=blocking 2010-09-08 13:40:38 -07:00
L. David Baron 6d17638653 Remove no-longer-needed code for handling unconstrained containing block widths. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-31 12:05:12 -04:00
L. David Baron 31305de24e Add support for calc() to the 'top', 'right', 'bottom', and 'left' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:56 +02:00
L. David Baron 7c1e31beb9 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