gecko-dev/layout/generic
Bas Schouten 70d011d12c Bug 1331718 - Part 3: Store pointers to DisplayItemData directly on nsIFrame. r=mattwoodrow r=dbaron
This patch aims to speed up the lookup and storage of DisplayItemData objects, by removing a level of indirection and preventing the previously required hashtable lookup in order to access these. Instead it stores an array of pointers on each frame that allows direct access to the DisplayItemData object by dereferencing the frame. Since most frames get either 1 or 2 DisplayItemData objects attached to them a specialized class is used that is of minimal size (2 * sizeof(void)) and that performs well for sizes 1 or 2.

MozReview-Commit-ID: HONKAmpk5H8
2017-05-10 05:07:38 +02:00
..
crashtests Bug 1321754 Part 2 - Update reftest and crashtest expectations for stylo. r=heycam 2017-04-28 14:53:16 +08:00
test Bug 1107904 - Remove packed.js and references to it as it is unused. r=standard8 2017-04-12 11:10:00 +01:00
AsyncScrollBase.cpp
AsyncScrollBase.h
BRFrame.cpp Bug 1361659: Initialize BRFrame::mAscent. r=mats 2017-05-03 22:06:35 +02:00
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
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 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
DetailsFrame.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
FrameChildList.cpp
FrameChildList.h
FrameTypeList.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
JustificationUtils.h
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
ReflowInput.cpp Merge inbound to m-c a=merge 2017-05-02 17:35:06 -07:00
ReflowInput.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +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
ScrollSnap.cpp
ScrollSnap.h
ScrollVelocityQueue.cpp
ScrollVelocityQueue.h
ScrollbarActivity.cpp Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn 2017-03-01 18:03:14 +01:00
ScrollbarActivity.h
Selection.h Bug 1359371 - Update Selection.webidl to match spec r=smaug 2017-04-25 14:55:31 +03: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 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
Visibility.h
WritingModes.h Backed out 8 changesets (bug 1311244) for OOM failures in Win7 debug R1 2017-01-08 21:11:25 -08:00
broken-image.png
folder.png
frame-graph.py
jar.mn
loading-image.png
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 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsAbsoluteContainingBlock.h
nsAtomicContainerFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsAutoCopyListener.h
nsBackdropFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsBackdropFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsBlockDebugFlags.h
nsBlockFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsBlockFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +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 Bug 1362324 - Use BlobImage for path type of bullet item. r=jrmuizel 2017-05-08 14:14:41 +08:00
nsBulletFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsCanvasFrame.cpp Bug 1360246 - Update code to use StackingContextHelper::ToRelativeWr* instead of RelativeToParent. r=nical 2017-05-03 08:48:08 -04:00
nsCanvasFrame.h Merge m-c to graphics 2017-05-03 08:52:43 -04:00
nsColumnSetFrame.cpp Merge m-c to graphics 2017-05-03 08:52:43 -04:00
nsColumnSetFrame.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsContainerFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsContainerFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsDirection.h
nsFirstLetterFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsFirstLetterFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsFlexContainerFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsFlexContainerFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsFloatManager.cpp Bug 1340044 - Part 2. Rename value in StyleGeometryBox. r=heycam 2017-03-16 15:18:10 +08: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 Merge mozilla-central to mozilla-inbound 2017-05-08 11:20:12 +08:00
nsFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsFrameIdList.h Bug 1349244 - Rename nsISVGChildFrame to nsSVGDisplayableFrame to reduce confusion. r=longsonr 2017-02-09 18:24:31 +00:00
nsFrameList.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsFrameList.h
nsFrameSelection.h Bug 1345247 - Devirtualize nsFrameSelection. r=dholbert 2017-03-10 14:52:08 +01:00
nsFrameSetFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsFrameSetFrame.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +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 1342009 - Provide a shortcut in BuildDisplayListForChild. r=mattwoodrow 2017-05-04 02:06:00 +08:00
nsFrameUtil.cpp
nsGfxScrollFrame.cpp Back out bug 1359868 (2 csets) for possibly causing a checkerboarding regression. r=backout 2017-05-09 13:23:23 -04:00
nsGfxScrollFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsGridContainerFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsGridContainerFrame.h Bug 1361656: Initialize nsGridContainerFrame::mDidPushItemsBitMayLie. r=mats 2017-05-03 22:05:42 +02:00
nsHTMLCanvasFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsHTMLCanvasFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +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 1331718 - Part 3: Store pointers to DisplayItemData directly on nsIFrame. r=mattwoodrow r=dbaron 2017-05-10 05:07:38 +02:00
nsIFrameInlines.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsIFrameUtil.h
nsILineIterator.h
nsIObjectFrame.h
nsIPageSequenceFrame.h
nsIScrollPositionListener.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
nsIStatefulFrame.h
nsImageFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsImageFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +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 1361513: Initialize nsInlineFrame::mBaseline. r=mats 2017-05-03 22:06:33 +02:00
nsIntervalSet.cpp
nsIntervalSet.h
nsLeafFrame.cpp Bug 775624 Part 22 - Remove NS_FRAME_COMPLETE. r=dholbert 2017-02-14 17:55:48 +08:00
nsLeafFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsLineBox.cpp 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
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 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsPageFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsPageFrame.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsPlaceholderFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsPlaceholderFrame.h Bug 1361612: Initialize nsPlaceholderFrame::mOutOfFlowFrame. r=mats 2017-05-03 22:06:14 +02:00
nsPluginFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsPluginFrame.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsQueryFrame.h Bug 1331756 part 1: Drop redundant 'virtual' keyword from some macros that declare nsIFrame method overrides. r=xidorn 2017-01-17 16:27:02 -08:00
nsRubyBaseContainerFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyBaseContainerFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsRubyBaseFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyBaseFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsRubyContentFrame.cpp
nsRubyContentFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsRubyFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsRubyTextContainerFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyTextContainerFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsRubyTextFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsRubyTextFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsSelection.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsSimplePageSequenceFrame.cpp Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsSimplePageSequenceFrame.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsSplittableFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsSplittableFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsSubDocumentFrame.cpp Merge mozilla-central to autoland 2017-05-02 11:23:38 +02:00
nsSubDocumentFrame.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsTextFrame.cpp Bug 1361478 - Add a ctor for FrameTextTraversal that initializes all members. r=jfkthame 2017-05-03 22:19:14 +02:00
nsTextFrame.h Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +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 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn 2017-05-01 19:32:52 +02:00
nsVideoFrame.h Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00