gecko-dev/layout/generic
Xidorn Quan 8c54e3ce73 Bug 1363699 part 1 - Make named CounterStyle objects not refcounted. r=heycam
This change does the following:
* Introduce a new smart pointer called CounterStylePtr which either
  holds an AnonymousCounterStyle strongly, or a named CounterStyle
  managed by CounterStyleManager weakly, and use it to replace all
  RefPtr<CounterStyle> around the codebase.
* Rename CounterStyleManager::mCacheTable to mStyles to reflect the
  fact that it is used to manage all styles, not just for caching.
* Add a retired styles list which collect all named CounterStyle
  evicted from mStyles, and post a PostRefreshObserver to destroy
  objects in that list after next flush.
* Remove helper functions for counter style in nsStyleList and expose
  mCounterStyle directly, to make code simpler with the new pointer.

Reason for adding a new smart pointer type rather than making their
AddRef/Release behave like BuiltinCounterStyle is that, it is possible
that after a flush, some stale style structs may still be alive. They
can contain pointer to destroyed CounterStyle objects. Although the
actual content may never be accessed anymore, RefPtr may still access
the object for refcounting during destruction.

MozReview-Commit-ID: xxegwSDhNb

--HG--
extra : rebase_source : bb5443f0eb56eee51cbdfd08e0400335648610e8
2017-05-13 21:42:23 +10:00
..
crashtests Backed out changeset 19f0b1e8f287 (bug 1358710) for failing reftest aja-linear-2.html on OS X with e10s. r=backout 2017-05-15 00:18:47 +02: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 Bug 1363699 part 1 - Make named CounterStyle objects not refcounted. r=heycam 2017-05-13 21:42:23 +10: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 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 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 1363699 part 1 - Make named CounterStyle objects not refcounted. r=heycam 2017-05-13 21:42:23 +10: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 1363699 part 1 - Make named CounterStyle objects not refcounted. r=heycam 2017-05-13 21:42:23 +10: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 1361617: Remove unused member var nsFlexContainerFrame::mChildrenHaveBeenReordered. r=mats 2017-05-11 23:09:38 -07: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 Bug 1349750 - Group scroll thumb-related information in Layer into a ScrollThumbData structure. r=kats 2017-05-10 14:02:15 -04: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 1360500 - Allow custom colors on find selection type selections. r=jaws,masayuki,smaug 2017-05-10 10:48:50 -04: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 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 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 1360500 - Allow custom colors on find selection type selections. r=jaws,masayuki,smaug 2017-05-10 10:48:50 -04: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 1360500 - Allow custom colors on find selection type selections. r=jaws,masayuki,smaug 2017-05-10 10:48:50 -04:00
nsTextFrame.h Bug 1360500 - Allow custom colors on find selection type selections. r=jaws,masayuki,smaug 2017-05-10 10:48:50 -04: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