Commit Graph

1468 Commits

Author SHA1 Message Date
Robert O'Callahan
79c48da1cd Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec 2012-04-19 14:40:43 +12:00
Ehsan Akhgari
86cc76d71d Backout changeset 0b25ccd32a49 (bug 745934) for reftest failures; a=bustage 2012-04-18 23:52:59 -04:00
Robert O'Callahan
5149fbdf9f Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec 2012-04-19 14:40:43 +12:00
Robert O'Callahan
02e693326e Bug 735898. Part 7: Remove expensive nsIFrame::HasBorder checks, just check style instead. r=dbaron,a=blocking-fennec 2012-04-18 17:14:31 +12:00
Robert O'Callahan
dc089f2386 Bug 735898. Part 6: Avoid nsIFrame::GetOffsetTo calls by caching a frame/offset pair in nsDisplayListBuilder, using the cache from nsDisplayListBuilder::ToReferenceFrame, and having BuildDisplayListForChild efficiently update the cached frame from parent to child when possible. Also, use display items' precalculated ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame where possible. r=mattwoodrow,a=blocking-fennec 2012-04-18 17:14:14 +12:00
L. David Baron
dea3236515 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
L. David Baron
464614b05f Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text.  Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous.  Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Robert O'Callahan
90c4562fd8 Bug 735898. Part 5: Simple tweaks to avoid wrapping empty lists and to reorder boolean tests. r=mattwoodrow 2012-04-16 17:43:47 +12:00
Robert O'Callahan
da48639190 Bug 735898. Part 4: Create Inner/Outer box-shadow items only if we actually have inset/outset shadows. r=mattwoodrow 2012-04-16 17:43:33 +12:00
Robert O'Callahan
8867dda1b1 Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-13 23:44:06 +12:00
Robert O'Callahan
c99e983698 Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures. 2012-04-12 00:34:23 +12:00
Robert O'Callahan
28b6cf56db Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-11 16:49:34 +12:00
Robert O'Callahan
76e8143876 Bug 735898. Part 2: When nsOverflowClipWrapper is asked to clip a display item that is entirely inside the clip rect, don't bother wrapping the item. r=mattwoodrow 2012-04-11 16:48:56 +12:00
Wes Johnston
02d6d4dde0 Backed out changeset f5d6cc2e4726 2012-04-09 10:44:32 -07:00
Wes Johnston
f1b3626866 Bug 740218 - Support transactions in sqlitebridge and use them. r=gcp,rnewman,lucasr 2012-04-09 10:08:37 -07:00
Kyle Huey
75ce446ae2 Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
Kyle Huey
4cf42ddeb6 Bug 697230: Part 1 - Centralize style image observers. r=bz 2012-04-07 08:58:41 -07:00
Mats Palmgren
448a14f82d Bug 724352 - Don't add vertical margin to scrollable overflow here, it's already done during reflow and we don't need it for UpdateOverflow yet (and we need to account for margin-collapsing when we do). r=roc 2012-04-05 16:30:21 +02:00
Ehsan Akhgari
de3b015d2f Bug 740857 - Remove dead code from nsFrame::BoxReflow; r=dbaron 2012-03-30 10:27:51 -07:00
Ehsan Akhgari
5529aea5fb Bug 726592 - Uninitialised value use in nsTextFrame::GetChildFrameContainingOffset; r=roc 2012-03-26 09:09:38 -07:00
Henri Sivonen
643fc9277c Bug 738572 - #include nsIHTMLContentSink.h in fewer places. r=bzbarsky. 2012-03-23 17:21:44 +02:00
Jonathan Watt
7fc84790a9 Bug 736890 - Speed up building of layout/svg/base/src by cleaning up #include directives in its header files. r=dholbert. 2012-03-20 12:15:55 +00:00
Daniel Holbert
3dbcc8aba7 Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
Matt Woodrow
0533203bc6 Bug 731777 - Correctly recompute overflow areas for frames with transform perspective applied. r=roc 2012-03-12 15:04:25 +13:00
Daniel Holbert
14bdf61162 Bug 733875: If you're a nsFrame inside a box, be sure to reflow your absolute children after box layout gives you your size. r=bz 2012-03-10 14:50:51 -08:00
Mats Palmgren
1ceaa4894a Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz 2012-03-08 02:57:37 +01:00
Jonathan Watt
45ab2bff1a Bug 731959 - Display list support for the 'clip' property in SVG means referring to "AbsPos" clip is misleading. r=bz. 2012-03-02 08:28:56 +00:00
Boris Zbarsky
d88e7e6dce Bug 729143. Don't treat table rows as containing blocks. r=dbaron 2012-02-23 23:35:19 -05:00
Matt Woodrow
c5672342e1 Bug 721082 - Make perspective-origin relative to the parent elements border box. r=roc 2012-02-15 22:28:22 +13:00
Matt Woodrow
439a12dca2 Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc 2012-02-15 22:28:21 +13:00
Robert O'Callahan
ca36e881d9 Bug 724189. Don't invalidate entire frame when the frame has shadows or effects and the post-transform overflow area changes. r=mats 2012-02-05 21:14:00 -08:00
L. David Baron
cfde1b40d4 Make selects and things inside them not be containers for font size inflation, so that font inflation inflate selects appropriately along with what surrounds them. (Bug 706609, patch 8) r=roc 2012-01-24 17:21:29 -08:00
L. David Baron
c6e45feee7 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
1d98076bbe 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
L. David Baron
ccb7b28d3f Make floating :first-letter frames not be containers for font size inflation, to avoid triggering assertions. (Bug 706609, patch 3.5) r=roc 2012-01-24 17:21:28 -08:00
L. David Baron
5ccad1a2d0 Add a frame state bit for whether a frame is a container for font size inflation (Bug 706609, patch 1) r=roc
This moves the logic currently in
nsLayoutUtils::IsContainerForFontSizeInflation into frame initialization
so that we can (later, for bug 706193) make that logic more complicated.
2012-01-24 17:21:28 -08:00
Mats Palmgren
a58fa4d0e1 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
a38eb5067f 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
150ab261ad Bug 665597 - Use saturating calculations when adding the margin to the scrollable overflow rect. part=4/5 r=roc 2012-01-17 00:38:10 +01:00
Mats Palmgren
12aef6013d Bug 665597 - Do not include margins in scrollable overflow for popup frames. part=3/5 r=roc 2012-01-17 00:38:10 +01:00
Mats Palmgren
9978a0faf6 Bug 665597 - Only include margins in scrollable overflow on the sides where it applies. part=2/5 r=roc 2012-01-17 00:38:10 +01:00
Benjamin Stover
6699362ad8 Bug 665597 - Include margin calculations in FinishAndStoreOverflow. part=1/5 r=roc 2011-06-20 10:03:09 -07:00
Robert O'Callahan
4d2822dd8b Bug 665597. Don't check overflow rects include border-box if the overflow rects are saturated. r=mats 2012-01-03 11:55:35 +13:00
Markus Stange
630256cc51 Bug 598482 part 20 - Rename Update to Invalidate; view updates are now always asynchronous. r=roc 2011-12-23 22:52:25 -05:00
Markus Stange
8fa80356cd Bug 598482 part 7 - Remove NS_VMREFRESH_* flags. NS_VMREFRESH_NO_SYNC is now the unchangable default. r=roc 2011-12-23 22:52:22 -05:00
Jeff Muizelaar
3632cec6b9 Bug 715232. Add some more MOZ_FINAL. r=joe 2012-01-03 13:38:10 -05:00
Robert O'Callahan
43a174c5c8 Bug 591718. Part 1: rename some poorly-named methods, rework global-transform methods to avoid computing bounding-boxes more than once when there are are multiple transformed ancestors, make sure nsIFrame::GetTransformMatrix can stop at any desired ancestor. r=mats 2011-12-28 16:24:18 +13:00
Phil Ringnalda
1109394b97 Back out dc7c7734ec7c, f793f9cfa72c, 10ea92a6a850 (bug 591718) for Android b-c orange in mobile/chrome/tests/browser_scrollbar.js 2011-12-27 20:34:08 -08:00
Robert O'Callahan
a9b6ce2e9e Bug 591718. Part 1: rename some poorly-named methods, rework global-transform methods to avoid computing bounding-boxes more than once when there are are multiple transformed ancestors, make sure nsIFrame::GetTransformMatrix can stop at any desired ancestor. r=mats 2011-12-28 16:24:18 +13:00
Mats Palmgren
8fe75b1c1b Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00