Bug 1261484. Use only one kind of anonymous box for the block wrappers we create for a block-inside-inline split. r=dbaron
MozReview-Commit-ID: iJJdv5VL06
--- a/layout/base/nsCSSFrameConstructor.cpp
+++ b/layout/base/nsCSSFrameConstructor.cpp
@@ -12251,20 +12251,18 @@ nsCSSFrameConstructor::CreateIBSiblings(
// Resolve the right style context for our anonymous blocks.
// The distinction in styles is needed because of CSS 2.1, section
// 9.2.1.1, which says:
// When such an inline box is affected by relative positioning, any
// resulting translation also affects the block-level box contained
// in the inline box.
RefPtr<nsStyleContext> blockSC = mPresShell->StyleSet()->
- ResolveInheritingAnonymousBoxStyle(aIsPositioned ?
- nsCSSAnonBoxes::mozAnonymousPositionedBlock :
- nsCSSAnonBoxes::mozAnonymousBlock,
- styleContext);
+ ResolveInheritingAnonymousBoxStyle(nsCSSAnonBoxes::mozBlockInsideInlineWrapper,
+ styleContext);
nsContainerFrame* lastNewInline =
static_cast<nsContainerFrame*>(aInitialInline->FirstContinuation());
do {
// On entry to this loop aChildItems is not empty and the first frame in it
// is block-level.
NS_PRECONDITION(aChildItems.NotEmpty(), "Should have child items");
NS_PRECONDITION(!aChildItems.FirstChild()->IsInlineOutside(),
--- a/layout/base/nsLayoutUtils.cpp
+++ b/layout/base/nsLayoutUtils.cpp
@@ -3946,18 +3946,17 @@ AddBoxesForFrame(nsIFrame* aFrame,
if (pseudoType == nsCSSAnonBoxes::tableWrapper) {
AddBoxesForFrame(aFrame->PrincipalChildList().FirstChild(), aCallback);
if (aCallback->mIncludeCaptionBoxForTable) {
nsIFrame* kid = aFrame->GetChildList(nsIFrame::kCaptionList).FirstChild();
if (kid) {
AddBoxesForFrame(kid, aCallback);
}
}
- } else if (pseudoType == nsCSSAnonBoxes::mozAnonymousBlock ||
- pseudoType == nsCSSAnonBoxes::mozAnonymousPositionedBlock ||
+ } else if (pseudoType == nsCSSAnonBoxes::mozBlockInsideInlineWrapper ||
pseudoType == nsCSSAnonBoxes::mozMathMLAnonymousBlock ||
pseudoType == nsCSSAnonBoxes::mozXULAnonymousBlock) {
for (nsIFrame* kid : aFrame->PrincipalChildList()) {
AddBoxesForFrame(kid, aCallback);
}
} else {
aCallback->AddBox(aFrame);
}
@@ -3985,18 +3984,17 @@ nsLayoutUtils::GetFirstNonAnonymousFrame
}
nsIFrame* kid = aFrame->GetChildList(nsIFrame::kCaptionList).FirstChild();
if (kid) {
f = GetFirstNonAnonymousFrame(kid);
if (f) {
return f;
}
}
- } else if (pseudoType == nsCSSAnonBoxes::mozAnonymousBlock ||
- pseudoType == nsCSSAnonBoxes::mozAnonymousPositionedBlock ||
+ } else if (pseudoType == nsCSSAnonBoxes::mozBlockInsideInlineWrapper ||
pseudoType == nsCSSAnonBoxes::mozMathMLAnonymousBlock ||
pseudoType == nsCSSAnonBoxes::mozXULAnonymousBlock) {
for (nsIFrame* kid : aFrame->PrincipalChildList()) {
nsIFrame* f = GetFirstNonAnonymousFrame(kid);
if (f) {
return f;
}
}
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -6905,18 +6905,17 @@ nsFrame::IsFrameTreeTooDeep(const Reflow
mState &= ~NS_FRAME_TOO_DEEP_IN_FRAME_TREE;
return false;
}
bool
nsIFrame::IsBlockWrapper() const
{
nsIAtom *pseudoType = StyleContext()->GetPseudo();
- return (pseudoType == nsCSSAnonBoxes::mozAnonymousBlock ||
- pseudoType == nsCSSAnonBoxes::mozAnonymousPositionedBlock ||
+ return (pseudoType == nsCSSAnonBoxes::mozBlockInsideInlineWrapper ||
pseudoType == nsCSSAnonBoxes::buttonContent ||
pseudoType == nsCSSAnonBoxes::cellContent);
}
static nsIFrame*
GetNearestBlockContainer(nsIFrame* frame)
{
// The block wrappers we use to wrap blocks inside inlines aren't
@@ -8812,27 +8811,25 @@ static void
ComputeAndIncludeOutlineArea(nsIFrame* aFrame, nsOverflowAreas& aOverflowAreas,
const nsSize& aNewSize)
{
const nsStyleOutline* outline = aFrame->StyleOutline();
if (!outline->ShouldPaintOutline()) {
return;
}
- // When the outline property is set on :-moz-anonymous-block or
- // :-moz-anonymous-positioned-block pseudo-elements, it inherited
- // that outline from the inline that was broken because it
- // contained a block. In that case, we don't want a really wide
- // outline if the block inside the inline is narrow, so union the
- // actual contents of the anonymous blocks.
+ // When the outline property is set on a :-moz-block-inside-inline-wrapper
+ // pseudo-element, it inherited that outline from the inline that was broken
+ // because it contained a block. In that case, we don't want a really wide
+ // outline if the block inside the inline is narrow, so union the actual
+ // contents of the anonymous blocks.
nsIFrame *frameForArea = aFrame;
do {
nsIAtom *pseudoType = frameForArea->StyleContext()->GetPseudo();
- if (pseudoType != nsCSSAnonBoxes::mozAnonymousBlock &&
- pseudoType != nsCSSAnonBoxes::mozAnonymousPositionedBlock)
+ if (pseudoType != nsCSSAnonBoxes::mozBlockInsideInlineWrapper)
break;
// If we're done, we really want it and all its later siblings.
frameForArea = frameForArea->PrincipalChildList().FirstChild();
NS_ASSERTION(frameForArea, "anonymous block with no children?");
} while (frameForArea);
// Find the union of the border boxes of all descendants, or in
// the block-in-inline case, all descendants we care about.
@@ -9172,18 +9169,17 @@ nsFrame::ConsiderChildOverflow(nsOverflo
static nsIFrame*
GetIBSplitSiblingForAnonymousBlock(const nsIFrame* aFrame)
{
NS_PRECONDITION(aFrame, "Must have a non-null frame!");
NS_ASSERTION(aFrame->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT,
"GetIBSplitSibling should only be called on ib-split frames");
nsIAtom* type = aFrame->StyleContext()->GetPseudo();
- if (type != nsCSSAnonBoxes::mozAnonymousBlock &&
- type != nsCSSAnonBoxes::mozAnonymousPositionedBlock) {
+ if (type != nsCSSAnonBoxes::mozBlockInsideInlineWrapper) {
// it's not an anonymous block
return nullptr;
}
// Find the first continuation of the frame. (Ugh. This ends up
// being O(N^2) when it is called O(N) times.)
aFrame = aFrame->FirstContinuation();
@@ -9274,18 +9270,17 @@ nsFrame::CorrectStyleParentFrame(nsIFram
if (nsCSSAnonBoxes::IsNonInheritingAnonBox(aChildPseudo)) {
return nullptr;
}
// Other anon boxes are parented to their actual parent already, except
// for non-elements. Those should not be treated as an anon box.
if (!nsCSSAnonBoxes::IsNonElement(aChildPseudo) &&
nsCSSAnonBoxes::IsAnonBox(aChildPseudo)) {
- NS_ASSERTION(aChildPseudo != nsCSSAnonBoxes::mozAnonymousBlock &&
- aChildPseudo != nsCSSAnonBoxes::mozAnonymousPositionedBlock,
+ NS_ASSERTION(aChildPseudo != nsCSSAnonBoxes::mozBlockInsideInlineWrapper,
"Should have dealt with kids that have "
"NS_FRAME_PART_OF_IBSPLIT elsewhere");
return aProspectiveParent;
}
}
// Otherwise, walk up out of all anon boxes. For placeholder frames, walk out
// of all pseudo-elements as well. Otherwise ReparentStyleContext could cause
--- a/layout/generic/nsInlineFrame.cpp
+++ b/layout/generic/nsInlineFrame.cpp
@@ -1044,35 +1044,36 @@ nsInlineFrame::DoUpdateStyleOfOwnedAnonB
// Get the FramePropertyTable up front, since we are likely to need it
// multiple times. The other option would be to just call
// nsIFrame::Properties() every time we need to do a lookup, but that does
// more pointer-chasing.
FramePropertyTable* propTable = presContext->PropertyTable();
nsIFrame* blockFrame = propTable->Get(this, nsIFrame::IBSplitSibling());
MOZ_ASSERT(blockFrame, "Why did we have an IB split?");
- nsIAtom* pseudo = blockFrame->StyleContext()->GetPseudo();
- MOZ_ASSERT(pseudo == nsCSSAnonBoxes::mozAnonymousBlock ||
- pseudo == nsCSSAnonBoxes::mozAnonymousPositionedBlock,
- "Unexpected kind of style context");
-
// The anonymous block's style inherits from ours, and we already have our new
// style context.
RefPtr<nsStyleContext> newContext =
- aStyleSet.ResolveInheritingAnonymousBoxStyle(pseudo, StyleContext());
+ aStyleSet.ResolveInheritingAnonymousBoxStyle(
+ nsCSSAnonBoxes::mozBlockInsideInlineWrapper, StyleContext());
// We're guaranteed that newContext only differs from the old style context on
// the block in things they might inherit from us. And changehint processing
// guarantees walking the continuation and ib-sibling chains, so our existing
// changehint beign in aChangeList is good enough. So we don't need to touch
// aChangeList at all here.
while (blockFrame) {
MOZ_ASSERT(!blockFrame->GetPrevContinuation(),
"Must be first continuation");
+
+ MOZ_ASSERT(blockFrame->StyleContext()->GetPseudo() ==
+ nsCSSAnonBoxes::mozBlockInsideInlineWrapper,
+ "Unexpected kind of style context");
+
// We _could_ just walk along using GetNextContinuationWithSameStyle here,
// but it would involve going back to the first continuation every so often,
// which is a bit silly when we can just keep track of our first
// continuations.
for (nsIFrame* cont = blockFrame; cont; cont = cont->GetNextContinuation()) {
cont->SetStyleContext(newContext);
}
--- a/layout/style/nsCSSAnonBoxList.h
+++ b/layout/style/nsCSSAnonBoxList.h
@@ -37,18 +37,17 @@
CSS_ANON_BOX(mozText, ":-moz-text")
// placeholder frames for out of flows. Note that :-moz-placeholder is used for
// the pseudo-element that represents the placeholder text in <input
// placeholder="foo">, so we need a different string here.
CSS_NON_INHERITING_ANON_BOX(oofPlaceholder, ":-moz-oof-placeholder")
// nsFirstLetterFrames for content outside the ::first-letter.
CSS_ANON_BOX(firstLetterContinuation, ":-moz-first-letter-continuation")
-CSS_ANON_BOX(mozAnonymousBlock, ":-moz-anonymous-block")
-CSS_ANON_BOX(mozAnonymousPositionedBlock, ":-moz-anonymous-positioned-block")
+CSS_ANON_BOX(mozBlockInsideInlineWrapper, ":-moz-block-inside-inline-wrapper")
CSS_ANON_BOX(mozMathMLAnonymousBlock, ":-moz-mathml-anonymous-block")
CSS_ANON_BOX(mozXULAnonymousBlock, ":-moz-xul-anonymous-block")
// Framesets
CSS_NON_INHERITING_ANON_BOX(horizontalFramesetBorder, ":-moz-hframeset-border")
CSS_NON_INHERITING_ANON_BOX(verticalFramesetBorder, ":-moz-vframeset-border")
CSS_ANON_BOX(mozLineFrame, ":-moz-line-frame")
--- a/layout/style/res/ua.css
+++ b/layout/style/res/ua.css
@@ -127,35 +127,47 @@
*|*:any-link:-moz-focusring {
/* Don't specify the outline-color, we should always use initial value. */
outline: 1px dotted;
}
/* Miscellaneous */
-*|*::-moz-anonymous-block, *|*::-moz-cell-content {
+*|*::-moz-cell-content {
display: block !important;
position: static !important;
unicode-bidi: inherit;
text-overflow: inherit;
overflow-clip-box: inherit;
}
-*|*::-moz-anonymous-block, *|*::-moz-anonymous-positioned-block {
+*|*::-moz-block-inside-inline-wrapper {
+ display: block !important;
/* we currently inherit from the inline that is split */
+ position: inherit; /* static or relative or sticky */
outline: inherit;
outline-offset: inherit;
clip-path: inherit;
filter: inherit;
mask: inherit;
opacity: inherit;
text-decoration: inherit;
-moz-box-ordinal-group: inherit !important;
overflow-clip-box: inherit;
+ unicode-bidi: inherit;
+ text-overflow: inherit;
+ /* The properties below here don't apply if our position is static,
+ and we do want them to have an effect it it's not, so it's fine
+ to always inherit them. */
+ top: inherit;
+ left: inherit;
+ bottom: inherit;
+ right: inherit;
+ z-index: inherit;
}
*|*::-moz-xul-anonymous-block {
display: block ! important;
position: static ! important;
float: none ! important;
-moz-box-ordinal-group: inherit !important;
text-overflow: inherit;
@@ -263,30 +275,16 @@
display: block !important;
margin: auto;
}
*|*::-moz-pagebreak {
display: block !important;
}
-*|*::-moz-anonymous-positioned-block {
- display: block !important;
- position: inherit; /* relative or sticky */
- top: inherit;
- left: inherit;
- bottom: inherit;
- right: inherit;
- z-index: inherit;
- clip: inherit;
- opacity: inherit;
- unicode-bidi: inherit;
- text-overflow: inherit;
-}
-
/* Printing */
@media print {
* {
cursor: default !important;
}
--- a/servo/components/style/gecko/generated/gecko_pseudo_element_helper.rs
+++ b/servo/components/style/gecko/generated/gecko_pseudo_element_helper.rs
@@ -104,21 +104,18 @@
atom!(":-moz-text"),
true);
pseudo_element!(":-moz-oof-placeholder",
atom!(":-moz-oof-placeholder"),
true);
pseudo_element!(":-moz-first-letter-continuation",
atom!(":-moz-first-letter-continuation"),
true);
- pseudo_element!(":-moz-anonymous-block",
- atom!(":-moz-anonymous-block"),
- true);
- pseudo_element!(":-moz-anonymous-positioned-block",
- atom!(":-moz-anonymous-positioned-block"),
+ pseudo_element!(":-moz-block-inside-inline-wrapper",
+ atom!(":-moz-block-inside-inline-wrapper"),
true);
pseudo_element!(":-moz-mathml-anonymous-block",
atom!(":-moz-mathml-anonymous-block"),
true);
pseudo_element!(":-moz-xul-anonymous-block",
atom!(":-moz-xul-anonymous-block"),
true);
pseudo_element!(":-moz-hframeset-border",
--- a/servo/components/style/gecko_string_cache/atom_macro.rs
+++ b/servo/components/style/gecko_string_cache/atom_macro.rs
@@ -1763,18 +1763,22 @@ cfg_if! {
#[link_name = "_ZN9nsGkAtoms18onreadystatechangeE"]
pub static nsGkAtoms_onreadystatechange: *mut nsIAtom;
#[link_name = "_ZN9nsGkAtoms10onreceivedE"]
pub static nsGkAtoms_onreceived: *mut nsIAtom;
#[link_name = "_ZN9nsGkAtoms12onremoteheldE"]
pub static nsGkAtoms_onremoteheld: *mut nsIAtom;
#[link_name = "_ZN9nsGkAtoms15onremoteresumedE"]
pub static nsGkAtoms_onremoteresumed: *mut nsIAtom;
+ #[link_name = "_ZN9nsGkAtoms17onrequestprogressE"]
+ pub static nsGkAtoms_onrequestprogress: *mut nsIAtom;
#[link_name = "_ZN9nsGkAtoms26onresourcetimingbufferfullE"]
pub static nsGkAtoms_onresourcetimingbufferfull: *mut nsIAtom;
+ #[link_name = "_ZN9nsGkAtoms18onresponseprogressE"]
+ pub static nsGkAtoms_onresponseprogress: *mut nsIAtom;
#[link_name = "_ZN9nsGkAtoms12onretrievingE"]
pub static nsGkAtoms_onretrieving: *mut nsIAtom;
#[link_name = "_ZN9nsGkAtoms9onRequestE"]
pub static nsGkAtoms_onRequest: *mut nsIAtom;
#[link_name = "_ZN9nsGkAtoms24onrequestmediaplaystatusE"]
pub static nsGkAtoms_onrequestmediaplaystatus: *mut nsIAtom;
#[link_name = "_ZN9nsGkAtoms7onresetE"]
pub static nsGkAtoms_onreset: *mut nsIAtom;
@@ -4829,20 +4833,18 @@ cfg_if! {
#[link_name = "_ZN19nsCSSPseudoElements14mozColorSwatchE"]
pub static nsCSSPseudoElements_mozColorSwatch: *mut nsICSSPseudoElement;
#[link_name = "_ZN14nsCSSAnonBoxes7mozTextE"]
pub static nsCSSAnonBoxes_mozText: *mut nsICSSAnonBoxPseudo;
#[link_name = "_ZN14nsCSSAnonBoxes14oofPlaceholderE"]
pub static nsCSSAnonBoxes_oofPlaceholder: *mut nsICSSAnonBoxPseudo;
#[link_name = "_ZN14nsCSSAnonBoxes23firstLetterContinuationE"]
pub static nsCSSAnonBoxes_firstLetterContinuation: *mut nsICSSAnonBoxPseudo;
- #[link_name = "_ZN14nsCSSAnonBoxes17mozAnonymousBlockE"]
- pub static nsCSSAnonBoxes_mozAnonymousBlock: *mut nsICSSAnonBoxPseudo;
- #[link_name = "_ZN14nsCSSAnonBoxes27mozAnonymousPositionedBlockE"]
- pub static nsCSSAnonBoxes_mozAnonymousPositionedBlock: *mut nsICSSAnonBoxPseudo;
+ #[link_name = "_ZN14nsCSSAnonBoxes27mozBlockInsideInlineWrapperE"]
+ pub static nsCSSAnonBoxes_mozBlockInsideInlineWrapper: *mut nsICSSAnonBoxPseudo;
#[link_name = "_ZN14nsCSSAnonBoxes23mozMathMLAnonymousBlockE"]
pub static nsCSSAnonBoxes_mozMathMLAnonymousBlock: *mut nsICSSAnonBoxPseudo;
#[link_name = "_ZN14nsCSSAnonBoxes20mozXULAnonymousBlockE"]
pub static nsCSSAnonBoxes_mozXULAnonymousBlock: *mut nsICSSAnonBoxPseudo;
#[link_name = "_ZN14nsCSSAnonBoxes24horizontalFramesetBorderE"]
pub static nsCSSAnonBoxes_horizontalFramesetBorder: *mut nsICSSAnonBoxPseudo;
#[link_name = "_ZN14nsCSSAnonBoxes22verticalFramesetBorderE"]
pub static nsCSSAnonBoxes_verticalFramesetBorder: *mut nsICSSAnonBoxPseudo;
@@ -6692,18 +6694,22 @@ cfg_if! {
#[link_name = "?onreadystatechange@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onreadystatechange: *mut nsIAtom;
#[link_name = "?onreceived@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onreceived: *mut nsIAtom;
#[link_name = "?onremoteheld@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onremoteheld: *mut nsIAtom;
#[link_name = "?onremoteresumed@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onremoteresumed: *mut nsIAtom;
+ #[link_name = "?onrequestprogress@nsGkAtoms@@2PEAVnsIAtom@@EA"]
+ pub static nsGkAtoms_onrequestprogress: *mut nsIAtom;
#[link_name = "?onresourcetimingbufferfull@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onresourcetimingbufferfull: *mut nsIAtom;
+ #[link_name = "?onresponseprogress@nsGkAtoms@@2PEAVnsIAtom@@EA"]
+ pub static nsGkAtoms_onresponseprogress: *mut nsIAtom;
#[link_name = "?onretrieving@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onretrieving: *mut nsIAtom;
#[link_name = "?onRequest@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onRequest: *mut nsIAtom;
#[link_name = "?onrequestmediaplaystatus@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onrequestmediaplaystatus: *mut nsIAtom;
#[link_name = "?onreset@nsGkAtoms@@2PEAVnsIAtom@@EA"]
pub static nsGkAtoms_onreset: *mut nsIAtom;
@@ -9758,20 +9764,18 @@ cfg_if! {
#[link_name = "?mozColorSwatch@nsCSSPseudoElements@@2PEAVnsICSSPseudoElement@@EA"]
pub static nsCSSPseudoElements_mozColorSwatch: *mut nsICSSPseudoElement;
#[link_name = "?mozText@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
pub static nsCSSAnonBoxes_mozText: *mut nsICSSAnonBoxPseudo;
#[link_name = "?oofPlaceholder@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
pub static nsCSSAnonBoxes_oofPlaceholder: *mut nsICSSAnonBoxPseudo;
#[link_name = "?firstLetterContinuation@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
pub static nsCSSAnonBoxes_firstLetterContinuation: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozAnonymousBlock@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
- pub static nsCSSAnonBoxes_mozAnonymousBlock: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozAnonymousPositionedBlock@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
- pub static nsCSSAnonBoxes_mozAnonymousPositionedBlock: *mut nsICSSAnonBoxPseudo;
+ #[link_name = "?mozBlockInsideInlineWrapper@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
+ pub static nsCSSAnonBoxes_mozBlockInsideInlineWrapper: *mut nsICSSAnonBoxPseudo;
#[link_name = "?mozMathMLAnonymousBlock@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
pub static nsCSSAnonBoxes_mozMathMLAnonymousBlock: *mut nsICSSAnonBoxPseudo;
#[link_name = "?mozXULAnonymousBlock@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
pub static nsCSSAnonBoxes_mozXULAnonymousBlock: *mut nsICSSAnonBoxPseudo;
#[link_name = "?horizontalFramesetBorder@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
pub static nsCSSAnonBoxes_horizontalFramesetBorder: *mut nsICSSAnonBoxPseudo;
#[link_name = "?verticalFramesetBorder@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"]
pub static nsCSSAnonBoxes_verticalFramesetBorder: *mut nsICSSAnonBoxPseudo;
@@ -11621,18 +11625,22 @@ cfg_if! {
#[link_name = "\x01?onreadystatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreadystatechange: *mut nsIAtom;
#[link_name = "\x01?onreceived@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreceived: *mut nsIAtom;
#[link_name = "\x01?onremoteheld@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onremoteheld: *mut nsIAtom;
#[link_name = "\x01?onremoteresumed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onremoteresumed: *mut nsIAtom;
+ #[link_name = "\x01?onrequestprogress@nsGkAtoms@@2PAVnsIAtom@@A"]
+ pub static nsGkAtoms_onrequestprogress: *mut nsIAtom;
#[link_name = "\x01?onresourcetimingbufferfull@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onresourcetimingbufferfull: *mut nsIAtom;
+ #[link_name = "\x01?onresponseprogress@nsGkAtoms@@2PAVnsIAtom@@A"]
+ pub static nsGkAtoms_onresponseprogress: *mut nsIAtom;
#[link_name = "\x01?onretrieving@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onretrieving: *mut nsIAtom;
#[link_name = "\x01?onRequest@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onRequest: *mut nsIAtom;
#[link_name = "\x01?onrequestmediaplaystatus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onrequestmediaplaystatus: *mut nsIAtom;
#[link_name = "\x01?onreset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreset: *mut nsIAtom;
@@ -14687,20 +14695,18 @@ cfg_if! {
#[link_name = "\x01?mozColorSwatch@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozColorSwatch: *mut nsICSSPseudoElement;
#[link_name = "\x01?mozText@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozText: *mut nsICSSAnonBoxPseudo;
#[link_name = "\x01?oofPlaceholder@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_oofPlaceholder: *mut nsICSSAnonBoxPseudo;
#[link_name = "\x01?firstLetterContinuation@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_firstLetterContinuation: *mut nsICSSAnonBoxPseudo;
- #[link_name = "\x01?mozAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
- pub static nsCSSAnonBoxes_mozAnonymousBlock: *mut nsICSSAnonBoxPseudo;
- #[link_name = "\x01?mozAnonymousPositionedBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
- pub static nsCSSAnonBoxes_mozAnonymousPositionedBlock: *mut nsICSSAnonBoxPseudo;
+ #[link_name = "\x01?mozBlockInsideInlineWrapper@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ pub static nsCSSAnonBoxes_mozBlockInsideInlineWrapper: *mut nsICSSAnonBoxPseudo;
#[link_name = "\x01?mozMathMLAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozMathMLAnonymousBlock: *mut nsICSSAnonBoxPseudo;
#[link_name = "\x01?mozXULAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozXULAnonymousBlock: *mut nsICSSAnonBoxPseudo;
#[link_name = "\x01?horizontalFramesetBorder@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_horizontalFramesetBorder: *mut nsICSSAnonBoxPseudo;
#[link_name = "\x01?verticalFramesetBorder@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_verticalFramesetBorder: *mut nsICSSAnonBoxPseudo;
@@ -16553,18 +16559,22 @@ macro_rules! atom {
("onreadystatechange") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onreadystatechange as *mut _) } };
("onreceived") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onreceived as *mut _) } };
("onremoteheld") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onremoteheld as *mut _) } };
("onremoteresumed") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onremoteresumed as *mut _) } };
+("onrequestprogress") =>
+ { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onrequestprogress as *mut _) } };
("onresourcetimingbufferfull") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onresourcetimingbufferfull as *mut _) } };
+("onresponseprogress") =>
+ { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onresponseprogress as *mut _) } };
("onretrieving") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onretrieving as *mut _) } };
("onRequest") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onRequest as *mut _) } };
("onrequestmediaplaystatus") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onrequestmediaplaystatus as *mut _) } };
("onreset") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onreset as *mut _) } };
@@ -19619,20 +19629,18 @@ macro_rules! atom {
(":-moz-color-swatch") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSPseudoElements_mozColorSwatch as *mut _) } };
(":-moz-text") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_mozText as *mut _) } };
(":-moz-oof-placeholder") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_oofPlaceholder as *mut _) } };
(":-moz-first-letter-continuation") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_firstLetterContinuation as *mut _) } };
-(":-moz-anonymous-block") =>
- { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_mozAnonymousBlock as *mut _) } };
-(":-moz-anonymous-positioned-block") =>
- { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_mozAnonymousPositionedBlock as *mut _) } };
+(":-moz-block-inside-inline-wrapper") =>
+ { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_mozBlockInsideInlineWrapper as *mut _) } };
(":-moz-mathml-anonymous-block") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_mozMathMLAnonymousBlock as *mut _) } };
(":-moz-xul-anonymous-block") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_mozXULAnonymousBlock as *mut _) } };
(":-moz-hframeset-border") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_horizontalFramesetBorder as *mut _) } };
(":-moz-vframeset-border") =>
{ unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_verticalFramesetBorder as *mut _) } };