Commit Graph

565 Commits

Author SHA1 Message Date
Matt Woodrow
ec8821b6ee Bug 722603 - Improve dirty rect calculation with 3d transforms and preserve-3d. r=roc 2012-05-11 19:49:14 +12:00
Scott Johnson
77bfda7fb2 Bug 749186: Make the root frame always be an inflation container to prevent a crash during font inflation. [r=dbaron] 2012-05-04 12:08:23 -05:00
Ali Juma
d62323c372 Bug 748048 - Part 1: Remove SetInvalidationDimensions and GetInvalidationDimensions. r=roc 2012-05-03 12:33:51 -04:00
Masayuki Nakano
e089b336f8 Bug 630811 part.2 Replace nsInputEvent::isShift, nsInputEvent::isControl, nsInputEvent::isAlt and nsInputEvent::isMeta r=smaug 2012-04-25 12:00:02 +09:00
Robert O'Callahan
d80b8c7095 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
b7a2142579 Backout changeset 0b25ccd32a49 (bug 745934) for reftest failures; a=bustage 2012-04-18 23:52:59 -04:00
Robert O'Callahan
54470c0981 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
e2b8881b6e 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
709a687eeb 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
903cd57ef8 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
1984592c22 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
0f27ac69fa 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
c205a2f3ae 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
52ce726c72 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
540be00480 Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures. 2012-04-12 00:34:23 +12:00
Robert O'Callahan
a66d3252b3 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
57fba60009 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
d605226018 Backed out changeset f5d6cc2e4726 2012-04-09 10:44:32 -07:00
Wes Johnston
19dd5922a5 Bug 740218 - Support transactions in sqlitebridge and use them. r=gcp,rnewman,lucasr 2012-04-09 10:08:37 -07:00
Kyle Huey
b9156a7e34 Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
Kyle Huey
803a05ad74 Bug 697230: Part 1 - Centralize style image observers. r=bz 2012-04-07 08:58:41 -07:00
Mats Palmgren
d8ca75ff27 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
0fb9dbfc9e Bug 740857 - Remove dead code from nsFrame::BoxReflow; r=dbaron 2012-03-30 10:27:51 -07:00
Ehsan Akhgari
cbd5bcd53c Bug 726592 - Uninitialised value use in nsTextFrame::GetChildFrameContainingOffset; r=roc
--HG--
extra : rebase_source : 3e5d2fafc028edb2940bef07302161670692d5a1
2012-03-26 09:09:38 -07:00
Henri Sivonen
38758ad038 Bug 738572 - #include nsIHTMLContentSink.h in fewer places. r=bzbarsky. 2012-03-23 17:21:44 +02:00
Jonathan Watt
e30bc57157 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
ce6dc9863d 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
28e71e1f9a Bug 731777 - Correctly recompute overflow areas for frames with transform perspective applied. r=roc 2012-03-12 15:04:25 +13:00
Daniel Holbert
c743f28bca 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
bc861fa127 Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz 2012-03-08 02:57:37 +01:00
Jonathan Watt
7024204d0f 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
09ef3c30b3 Bug 729143. Don't treat table rows as containing blocks. r=dbaron 2012-02-23 23:35:19 -05:00
Matt Woodrow
8281079024 Bug 721082 - Make perspective-origin relative to the parent elements border box. r=roc 2012-02-15 22:28:22 +13:00
Matt Woodrow
914010d2c8 Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc 2012-02-15 22:28:21 +13:00
Robert O'Callahan
3c929bbc5d 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
3c6538e862 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
d789ef0b1b 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
0ce777d92e 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
58d3dd0576 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
a2396850d4 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
2a48071cb7 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
a371dc7830 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
46e3ae1768 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
056f2a5cb9 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
5df91e4e15 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
44fcadb442 Bug 665597 - Include margin calculations in FinishAndStoreOverflow. part=1/5 r=roc 2011-06-20 10:03:09 -07:00
Robert O'Callahan
c1fae35d3c 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
eb399a7302 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
d13d62c3a3 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
b01d65c558 Bug 715232. Add some more MOZ_FINAL. r=joe
--HG--
extra : rebase_source : 1d4bf4c624dbbfd77b3a80f88478a87fa5df9506
2012-01-03 13:38:10 -05:00