gecko-dev/layout/generic
Bas Schouten cf309d5907 Bug 1367906: Cache the presence of rounded corners upon style changes. r=dbaron r=mattwoodrow
Profiling indicates a significant amount of time is spent during displaylist building accessing style information in order to detect border radii. This is a cost that for frames with no border radii only needs to be paid when the style changes.

Since nsIFrame still has 16 bits available for storing data without growing it in size, this patch recomputes whether there are border radii upon DidGetStyleContext and stores that information in one of these unused bits.

MozReview-Commit-ID: 4Jm29qUwXq3
2017-05-26 16:56:55 +00:00
..
crashtests Bug 1367413 - Fix assertion that can occur when paginating abs-pos elements with a transform. r=mats 2017-05-25 16:21:20 -04:00
test Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
AsyncScrollBase.cpp
AsyncScrollBase.h
BlockReflowInput.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
BlockReflowInput.h Bug 944200 part 1 - [css-ui] Make TextOverflow::CanHaveTextOverflow not take a nsDisplayListBuilder so we can use it in Reflow; cache the value in BlockReflowInput::mCanHaveTextOverflow. r=dholbert 2017-04-15 00:31:43 +02:00
BRFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
broken-image.png
CSSAlignUtils.cpp
CSSAlignUtils.h
CSSOrderAwareFrameIterator.cpp Bug 812687 part 4: Add an optional parameter which can make CSSOrderAwareFrameIterator use the legacy "box-ordinal-group" property. r=mats 2017-04-05 19:31:47 -07:00
CSSOrderAwareFrameIterator.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
DetailsFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
DetailsFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
folder.png
frame-graph.py
FrameChildList.cpp
FrameChildList.h
FrameTypeList.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
jar.mn
JustificationUtils.h
loading-image.png
MathMLTextRunFactory.cpp Bug 1362167 - Use strongly-typed enum classes instead of generic uint16_t fields for the gfxShapedText and gfxTextRun flags. r=jrmuizel 2017-05-04 22:27:05 +01:00
MathMLTextRunFactory.h
moz.build Bug 1362167 - Split gfxShapedText.mFlags into two 16-bit flags fields, and arrange storage more compactly to reduce size of gfxShapedWord and gfxTextRun objects. r=jrmuizel 2017-05-04 22:25:16 +01:00
nsAbsoluteContainingBlock.cpp Bug 1367413 - Fix assertion that can occur when paginating abs-pos elements with a transform. r=mats 2017-05-25 16:21:20 -04:00
nsAbsoluteContainingBlock.h
nsAtomicContainerFrame.h Bug 1362886 part 2 - Devirtualize the IsLeaf() method by doing an array lookup instead. r=jfkthame 2017-05-26 12:11:12 +02:00
nsAutoCopyListener.h
nsBackdropFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsBackdropFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsBlockDebugFlags.h
nsBlockFrame.cpp Bug 1359341 part 4 - Optimize initializing a nsBlockInFlowLineIterator for single-line blocks by skipping the search for aFindFrame. r=jfkthame 2017-05-23 19:09:27 +02:00
nsBlockFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsBlockReflowContext.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsBlockReflowContext.h
nsBulletFrame.cpp Merge m-c to graphics 2017-05-15 09:36:37 -04:00
nsBulletFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsCanvasFrame.cpp Bug 1361751 - Update gecko bindings to webrender to reflect changes in PR 1181. r=kats 2017-05-08 13:52:16 -04:00
nsCanvasFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsColumnSetFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsColumnSetFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsContainerFrame.cpp Bug 1362886 part 2 - Devirtualize the IsLeaf() method by doing an array lookup instead. r=jfkthame 2017-05-26 12:11:12 +02:00
nsContainerFrame.h Bug 1362886 part 2 - Devirtualize the IsLeaf() method by doing an array lookup instead. r=jfkthame 2017-05-26 12:11:12 +02:00
nsDirection.h
nsFirstLetterFrame.cpp Bug 1365356 - patch 2 - Allow callers to pass an nsStyleDisplay in to FinishAndStoreOverflow, to avoid internal StyleDisplay() calls. r=mats 2017-05-17 15:47:31 +01:00
nsFirstLetterFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsFlexContainerFrame.cpp Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
nsFlexContainerFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsFloatManager.cpp Bug 1367190 patch 1 - Convert the 4 objects that use nsPresArena::AllocateBySize to use AllocateByObjectID. r=mats 2017-05-24 09:35:26 -04:00
nsFloatManager.h Bug 1363252 - Increase NS_FLOAT_MANAGER_CACHE_SIZE to 64 in order to reduce the likelihood of dynamic allocations when creating new nsFloatManagers; r=dbaron 2017-05-08 22:27:26 -04:00
nsFontInflationData.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsFontInflationData.h
nsFrame.cpp Bug 1367906: Cache the presence of rounded corners upon style changes. r=dbaron r=mattwoodrow 2017-05-26 16:56:55 +00:00
nsFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsFrameIdList.h Bug 1367877 - Remove a few unused frame class IDs. r=jfkthame 2017-05-26 12:11:12 +02:00
nsFrameList.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsFrameList.h
nsFrameSelection.h Bug 1360500 - Allow custom colors on find selection type selections. r=jaws,masayuki,smaug 2017-05-10 10:48:50 -04:00
nsFrameSetFrame.cpp Bug 1362886 part 2 - Devirtualize the IsLeaf() method by doing an array lookup instead. r=jfkthame 2017-05-26 12:11:12 +02:00
nsFrameSetFrame.h Bug 1362886 part 2 - Devirtualize the IsLeaf() method by doing an array lookup instead. r=jfkthame 2017-05-26 12:11:12 +02:00
nsFrameState.cpp Bug 1349244 - Rename nsISVGChildFrame to nsSVGDisplayableFrame to reduce confusion. r=longsonr 2017-02-09 18:24:31 +00:00
nsFrameState.h
nsFrameStateBits.h Bug 1359341 part 2 - Add a couple of private frame state bits to nsPlaceholderFrame to be used for propagating "line emptiness" during reflow. r=jfkthame 2017-05-23 19:09:26 +02:00
nsFrameUtil.cpp
nsGfxScrollFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsGfxScrollFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsGridContainerFrame.cpp Bug 1349320 part 2 - [css-grid] Make nsLayoutUtils::IntrinsicForAxis take an optional percentage basis to use for resolving transferred percentages. r=dholbert 2017-05-11 02:33:14 +02:00
nsGridContainerFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsHTMLCanvasFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsHTMLCanvasFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsHTMLParts.h Bug 1334358 - Stop using CreateAnonymousFrames for combo box creation. r=bz 2017-01-27 16:13:33 -08:00
nsIAnonymousContentCreator.h Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo. r=bholley 2017-01-13 03:21:11 +00:00
nsIFrame.h Bug 1367906: Cache the presence of rounded corners upon style changes. r=dbaron r=mattwoodrow 2017-05-26 16:56:55 +00:00
nsIFrameInlines.h Bug 1365356 - patch 3 - Allow callers to pass an nsStyleDisplay to GetContainingBlock (and IsAbsolutelyPositioned, which it calls) if they have it on hand, to avoid internal calls to StyleDisplay(). r=mats 2017-05-17 15:47:36 +01:00
nsIFrameUtil.h
nsILineIterator.h
nsImageFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsImageFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsImageMap.cpp
nsImageMap.h
nsInlineFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsInlineFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsIntervalSet.cpp Bug 1367190 patch 1 - Convert the 4 objects that use nsPresArena::AllocateBySize to use AllocateByObjectID. r=mats 2017-05-24 09:35:26 -04:00
nsIntervalSet.h Bug 1367190 - Fix bustage on a CLOSED TREE. 2017-05-24 10:17:19 -04:00
nsIObjectFrame.h
nsIPageSequenceFrame.h
nsIScrollableFrame.h Bug 1346109. Call NotifyApproximateFrameVisibilityUpdate after we set a display port base rect. r=botond 2017-04-05 00:18:11 -05:00
nsIScrollPositionListener.h
nsIStatefulFrame.h
nsLeafFrame.cpp Bug 1365356 - patch 2 - Allow callers to pass an nsStyleDisplay in to FinishAndStoreOverflow, to avoid internal StyleDisplay() calls. r=mats 2017-05-17 15:47:31 +01:00
nsLeafFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsLineBox.cpp Bug 944200 followup - Consistently use nscoord_MIN for uninitialized mFloatEdgeIStart/End. r=mats 2017-05-16 14:31:30 -07:00
nsLineBox.h Bug 944200 part 2 - [css-ui] Store the line's float edges for text-overflow analysis if needed. r=dholbert 2017-04-15 00:31:43 +02:00
nsLineLayout.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsLineLayout.h Bug 1351904 - Switch layout over to ArenaAllocator. r=xidorn 2017-03-31 14:06:33 -07:00
nsPageContentFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsPageContentFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsPageFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsPageFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsPlaceholderFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsPlaceholderFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsPluginFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsPluginFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsQueryFrame.h Bug 1364805 part 3 - Implement Type() by indexing a static array using the mClass field. Remove the nsIFrame::mType field. r=jfkthame 2017-05-26 12:11:11 +02:00
nsRubyBaseContainerFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyBaseContainerFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsRubyBaseFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyBaseFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsRubyContentFrame.cpp
nsRubyContentFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsRubyFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsRubyTextContainerFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyTextContainerFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsRubyTextFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyTextFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsSelection.cpp Bug 1366176 part 1 - Initialize aOutIndex to the last range in the Selection as a fallback in case we don't add a range later in AddItem. r=smaug 2017-05-23 19:09:26 +02:00
nsSimplePageSequenceFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsSimplePageSequenceFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsSplittableFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsSplittableFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsSubDocumentFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsSubDocumentFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsTextFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsTextFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsTextFrameUtils.cpp Bug 1362167 - Use strongly-typed enum classes instead of generic uint16_t fields for the gfxShapedText and gfxTextRun flags. r=jrmuizel 2017-05-04 22:27:05 +01:00
nsTextFrameUtils.h Bug 1362167 - Use strongly-typed enum classes instead of generic uint16_t fields for the gfxShapedText and gfxTextRun flags. r=jrmuizel 2017-05-04 22:27:05 +01:00
nsTextRunTransformations.cpp Bug 1362167 - Use strongly-typed enum classes instead of generic uint16_t fields for the gfxShapedText and gfxTextRun flags. r=jrmuizel 2017-05-04 22:27:05 +01:00
nsTextRunTransformations.h Bug 1362167 - Use strongly-typed enum classes instead of generic uint16_t fields for the gfxShapedText and gfxTextRun flags. r=jrmuizel 2017-05-04 22:27:05 +01:00
nsVideoFrame.cpp Bug 1362886 part 2 - Devirtualize the IsLeaf() method by doing an array lookup instead. r=jfkthame 2017-05-26 12:11:12 +02:00
nsVideoFrame.h Bug 1362886 part 2 - Devirtualize the IsLeaf() method by doing an array lookup instead. r=jfkthame 2017-05-26 12:11:12 +02:00
ReflowInput.cpp Bug 1359341 part 3 - Propagate AreAllEarlierInFlowFramesEmpty() state on placeholders down the line. We can stop iterating siblings if we find a placeholder with a stored state. r=jfkthame 2017-05-23 19:09:27 +02:00
ReflowInput.h Bug 1359341 part 1 - Make PresShell::GetPlaceholderFrameFor return a nsPlaceholderFrame. r=jfkthame 2017-05-23 19:09:26 +02:00
ReflowOutput.cpp
ReflowOutput.h
RubyUtils.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
RubyUtils.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
ScrollbarActivity.cpp Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn 2017-03-01 18:03:14 +01:00
ScrollbarActivity.h
ScrollSnap.cpp
ScrollSnap.h
ScrollVelocityQueue.cpp
ScrollVelocityQueue.h
Selection.h Bug 1360500 - Allow custom colors on find selection type selections. r=jaws,masayuki,smaug 2017-05-10 10:48:50 -04:00
SelectionChangeListener.h
StickyScrollContainer.cpp
StickyScrollContainer.h
TextOverflow.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
TextOverflow.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
ViewportFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
ViewportFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
Visibility.h
WritingModes.h