gecko-dev/layout/generic
Robert O'Callahan 613ea8adbd Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
..
crashtests Bug 801268: Add crashtest for this bug. (test only, no review) 2013-03-28 01:50:22 -07:00
test Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
broken-image.png
folder.png
frame-graph.py Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
frame-verify.js Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
FrameChildList.cpp Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg 2012-08-22 11:56:38 -04:00
FrameChildList.h Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg 2012-08-22 11:56:38 -04:00
jar.mn Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
loading-image.png
Makefile.in Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
moz.build Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
nsAbsoluteContainingBlock.cpp Bug 855917 - Minor nsAbsoluteContainingBlock code cleanup. r=dholbert 2013-04-01 17:26:01 +02:00
nsAbsoluteContainingBlock.h Bug 855917 - Minor nsAbsoluteContainingBlock code cleanup. r=dholbert 2013-04-01 17:26:01 +02:00
nsAutoCopyListener.h Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (layout parts); r=roc 2012-06-18 23:26:34 -04:00
nsBlockDebugFlags.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsBlockFrame.cpp Bug 841192. Part 13: Rename nsFrame::ApplyOverflowClipping to ShouldApplyOverflowClipping. r=mattwoodrow 2013-03-07 00:08:16 +13:00
nsBlockFrame.h Bug 851847 - Optimize nsBlockFrame::StealFrame when removing a normal flow child. r=bzbarsky 2013-03-23 21:49:45 +01:00
nsBlockReflowContext.cpp bug 846487 - remove remaining usage of some nsIDOMFooElement r=Ms2Ger 2013-02-14 10:33:16 -05:00
nsBlockReflowContext.h Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
nsBlockReflowState.cpp Bug 855464: Optimize nsBlockReflowState::ClearFloats better, given that nsBlockFrame::WidthToClearPastFloats is somewhat expensive. r=dholbert 2013-03-31 00:50:29 -07:00
nsBlockReflowState.h 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
nsBRFrame.cpp Bug 810572, part 2.5 - rename AccType constants again, r=tbsaunde, sr=roc 2012-12-18 10:25:52 +09:00
nsBulletFrame.cpp Bug 842850 (Part 1) - Use an SVGImageContext class for overridden SVG properties. r=dholbert,joe sr=bz 2013-02-28 12:22:43 -08:00
nsBulletFrame.h Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
nsCanvasFrame.cpp Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky 2013-04-01 17:26:02 +02:00
nsCanvasFrame.h Bug 725981 - Only invalidate the difference in bounds when a solid color moves or resizes. r=roc 2013-03-08 15:15:10 +13:00
nsColumnSetFrame.cpp Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky 2013-04-01 17:26:02 +02:00
nsContainerFrame.cpp Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky 2013-04-01 17:26:02 +02:00
nsContainerFrame.h Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky 2013-04-01 17:26:02 +02:00
nsFirstLetterFrame.cpp Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky 2013-04-01 17:26:02 +02:00
nsFirstLetterFrame.h Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
nsFlexContainerFrame.cpp Bug 785468: Compute flex container's baseline as-described in the spec. r=dbaron 2013-03-29 18:32:08 -07:00
nsFlexContainerFrame.h Bug 853946: Replace flex container's cached content-box cross-size and cached ascent with local variables in Reflow(). rs=Waldo 2013-03-29 18:32:03 -07:00
nsFloatManager.cpp Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert 2013-02-16 13:51:02 -08:00
nsFloatManager.h Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg 2012-08-22 11:56:38 -04:00
nsFontInflationData.cpp Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert 2013-02-16 13:51:02 -08:00
nsFontInflationData.h Do the necessary reflow when our font inflation data changes. (Bug 759755, patch 2) r=roc/bzbarsky 2012-06-11 13:57:35 -07:00
nsFrame.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsFrame.h Bug 841192. Part 13: Rename nsFrame::ApplyOverflowClipping to ShouldApplyOverflowClipping. r=mattwoodrow 2013-03-07 00:08:16 +13:00
nsFrameIdList.h Bug 838256, part 1 - Initial work on the layout pieces for <input type=range>. DONTBUILD separately from jwatt's changeset (the next one) to finish this work. r=dholbert for the combined diff. 2013-02-16 17:57:21 +00:00
nsFrameList.cpp Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky 2013-04-01 17:26:02 +02:00
nsFrameList.h Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky 2013-04-01 17:26:02 +02:00
nsFrameSelection.h bug 845562 - nsFrameSelection doesn't need to inherit from nsISupports r=smaug 2013-02-15 16:32:19 -05:00
nsFrameSetFrame.cpp Bug 841192. Part 1: Make <frame> elements behave more like <iframe>s, in particular supporting padding and borders (but not border-radius). r=mats 2013-04-03 00:03:03 +13:00
nsFrameSetFrame.h Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
nsFrameUtil.cpp Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg 2012-08-22 11:56:38 -04:00
nsGfxScrollFrame.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsGfxScrollFrame.h Bug 851485 - Restoring scroll position from history should only suppress one scroll-to-anchor. r=bzbarsky 2013-03-15 23:32:35 +01:00
nsHTMLCanvasFrame.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsHTMLCanvasFrame.h Bug 856243 - Add missing do_QueryFrame support and fix typo that caused most MathML frames to not QueryFrame to nsIMathMLFrame. Add static assertions to prevent those kinds of errors in the future. r=dholbert 2013-04-04 01:35:07 +02:00
nsHTMLParts.h Bug 838256, part 1 - Initial work on the layout pieces for <input type=range>. DONTBUILD separately from jwatt's changeset (the next one) to finish this work. r=dholbert for the combined diff. 2013-02-16 17:57:21 +00:00
nsHTMLReflowMetrics.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsHTMLReflowMetrics.h Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg 2012-08-22 11:56:38 -04:00
nsHTMLReflowState.cpp Bug 848539 part 5: Back out 6bb37077d615, bug 763689 part 2 (style-system handling for min-width:auto). r=dbaron 2013-03-27 23:33:19 -07:00
nsHTMLReflowState.h Bug 856199: Remove nsHTMLReflowState's no-longer-needed AutoRestore #include. r=dbaron 2013-03-29 18:34:17 -07:00
nsIAnonymousContentCreator.h Bug 819791 - Part 3: Make typeof nsTArray == typeof InfallibleTArray. r=bz 2012-12-18 20:16:06 -05:00
nsIFrame.h Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsIFrameUtil.h Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg 2012-08-22 11:56:38 -04:00
nsILineIterator.h Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg 2012-08-22 11:56:38 -04:00
nsImageFrame.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsImageFrame.h Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
nsImageMap.cpp Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
nsImageMap.h Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg 2012-08-22 11:56:38 -04:00
nsInlineFrame.cpp Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky 2013-04-01 17:26:02 +02:00
nsInlineFrame.h Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
nsIntervalSet.cpp 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
nsIntervalSet.h Bug 796129 - remove prtypes #includes in layout/ 2012-10-01 17:12:57 -04:00
nsIObjectFrame.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsIPageSequenceFrame.h Bug 745025 - Part 2 - Adds layout/printing support for mozPrintCallback. r=roc 2012-08-30 17:24:35 -07:00
nsIScrollableFrame.h Bug 851485 - Restoring scroll position from history should only suppress one scroll-to-anchor. r=bzbarsky 2013-03-15 23:32:35 +01:00
nsIStatefulFrame.h Bug 811301. Part 2: Remove saved state IDs now that the root scroll frame state is captured normally. r=mats 2012-11-14 22:40:17 -08:00
nsLeafFrame.cpp Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsLeafFrame.h Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
nsLineBox.cpp Bug 855850: Use MOZ_STATIC_ASSERT instead of #if, to verify that "break type" values are representable in 4 bits. r=mats 2013-03-28 16:27:31 -07:00
nsLineBox.h Bug 855850: Use MOZ_STATIC_ASSERT instead of #if, to verify that "break type" values are representable in 4 bits. r=mats 2013-03-28 16:27:31 -07:00
nsLineLayout.cpp Bug 842142 - Prevent odd text wrapping in SVG text. r=roc 2013-03-25 14:50:59 +11:00
nsLineLayout.h Bug 843931 - Make nsLineLayout::NewPerFrameData() allocation infallible. r=roc 2013-02-23 11:38:15 +01:00
nsObjectFrame.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsObjectFrame.h Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
nsPageContentFrame.cpp Backed out changesets 0b6b3d2856a4 and 30776e402787 (bug 115199) for reftest failures. 2012-11-13 20:19:18 -05:00
nsPageContentFrame.h Backed out changesets 0b6b3d2856a4 and 30776e402787 (bug 115199) for reftest failures. 2012-11-13 20:19:18 -05:00
nsPageFrame.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsPageFrame.h Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
nsPlaceholderFrame.cpp Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
nsPlaceholderFrame.h Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
nsPluginUtilsOSX.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsPluginUtilsOSX.mm Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsQueryFrame.h Bug 856243 - Add missing do_QueryFrame support and fix typo that caused most MathML frames to not QueryFrame to nsIMathMLFrame. Add static assertions to prevent those kinds of errors in the future. r=dholbert 2013-04-04 01:35:07 +02:00
nsSelection.cpp bug 825341 - convert range to webidl r=bz, smaug 2013-02-07 07:09:41 -05:00
nsSimplePageSequence.cpp Bug 852501 part 4. Make CreateContinuingFrame infallible. r=dholbert 2013-03-19 21:47:49 -04:00
nsSimplePageSequence.h Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
nsSplittableFrame.cpp Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
nsSplittableFrame.h Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
nsSubDocumentFrame.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsSubDocumentFrame.h Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
nsTextFrame.h Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
nsTextFrameTextRunCache.h Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
nsTextFrameThebes.cpp Bug 853361 - moving by words is inconsistent, r=roc 2013-03-27 09:57:29 +09:00
nsTextFrameUtils.cpp 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
nsTextFrameUtils.h Bug 655877 - Part 23a: Add white-space:-moz-pre-discard-newlines value with white space collapsing behavior like SVG's xml:space="preserve". r=roc,dbaron 2012-09-07 15:42:19 +10:00
nsTextRunTransformations.cpp Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert 2013-02-16 13:51:02 -08:00
nsTextRunTransformations.h Bug 767563 - Add a clang static checker, part 3: Move the MOZ_MUST_OVERRIDE macro to MFBT. r=Waldo 2013-03-23 21:14:43 -05:00
nsVideoFrame.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
nsVideoFrame.h Bug 833388 - Add a div to the video frame for track elements to use to display captions. r=roc 2013-02-26 16:06:51 -05:00
nsViewportFrame.cpp Bug 851611 - Part 3: Rename headers. r=jrmuizel 2013-03-18 15:25:50 +01:00
nsViewportFrame.h Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
ScrollbarActivity.cpp Bug 845374 - Part j: Stop including nsIXPCScriptable.h in nsContentUtils.h; r=khuey 2013-03-17 08:55:15 +01:00
ScrollbarActivity.h Bug 778810 - Show/Hide scrollbars depending on activity. r=roc 2012-08-03 12:35:14 +02:00
Selection.h bug 845562 - remove GetFrameSelection() from nsISelectionPrivate r=smaug 2013-02-15 15:09:28 -05:00
TextOverflow.cpp Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow 2013-03-04 22:56:02 +13:00
TextOverflow.h bug 840431 - cache an ellipsis textrun on gfxFontGroup, to minimize perf overhead due to text-overflow. r=roc 2013-03-08 10:41:31 +00:00