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