This reverts commit 82b2e13b45.
Revert "Bug 2038124 - Optimize setting attributes on non-custom HTML elements from parser. r=smaug"
This reverts commit 2d1ee1cd69.
This reverts commit 9dd3f6b595.
Revert "Bug 2038124 - Optimize setting attributes on non-custom HTML elements from parser. r=smaug"
This reverts commit b1774ce65e.
In particular, this helps when cloning elements out of a <template>
element, because that hits the cross-document codepath.
We keep unconditionally reparsing for SVGElement because the set-up
there is totally busted.
Not touching ReparseStyleAttribute() for now (though we should look into
it).
Differential Revision: https://phabricator.services.mozilla.com/D300644
This will make being more granular with cloning easier, and we don't
need it after the previous patch.
This leaves DeclarationBlock only for the style attribute for now, we
need it for the AttrStyles stuff. But I plan to move that to
MiscContainer instead or so.
Differential Revision: https://phabricator.services.mozilla.com/D300052
Some sites probe `@supports selector(::-webkit-scrollbar)` to detect
WebKit/Blink and then ship styles that depend on real WebKit scrollbar
behavior, which our partial `::-webkit-scrollbar` support does not match.
Give us a way to disable the pseudo-element on specific domains while
keeping it enabled everywhere else; on listed domains the pseudo is
treated as unknown by the selector parser, so `@supports selector(...)`
also reports it as unsupported.
Differential Revision: https://phabricator.services.mozilla.com/D299295
Some sites probe `@supports selector(::-webkit-scrollbar)` to detect
WebKit/Blink and then ship styles that depend on real WebKit scrollbar
behavior, which our partial `::-webkit-scrollbar` support does not match.
Give us a way to disable the pseudo-element on specific domains while
keeping it enabled everywhere else; on listed domains the pseudo is
treated as unknown by the selector parser, so `@supports selector(...)`
also reports it as unsupported.
Differential Revision: https://phabricator.services.mozilla.com/D299295
This reverts commit 782dcf9aee.
Revert "Bug 1829401 - Part 1: Implements Element.requestPointerLock() to return Promise<undefined>; r=smaug,webidl"
This reverts commit e4344e3d3c.
This reverts commit 2cd5592148.
Revert "Bug 2035304 - Part 1: Connecting and disconnecting EditContexts. r=dom-core,layout-reviewers,emilio,smaug"
This reverts commit ccb1f6bfb8.
This reverts commit ae69f6c9c6.
Revert "Bug 2035304 - Part 1: Connecting and disconnecting EditContexts. r=dom-core,layout-reviewers,emilio,smaug"
This reverts commit 7c0bd3f1e0.
Add "auto" to ScrollLogicalPosition per https://github.com/w3c/csswg-drafts/issues/9576.
Fragment navigation now passes WhereToScroll::Auto so that scroll-snap-align is
respected when present, falling back to the spec defaults (start for block,
nearest for inline) when absent. Explicit scrollIntoView() alignment values are
no longer overridden by snap alignment.
GetScrollSnapAlignFor previously returned None for all axes when the scroll
container had scroll-snap-type: none. Remove that early return so that fragment
navigation (which uses WhereToScroll::Auto) can still honor the target's
scroll-snap-align even on non-snapping containers, as the spec permits.
Differential Revision: https://phabricator.services.mozilla.com/D298959
The linked bug was being triggered because the ID and form attribute were the same, which caused a sequence of events such that the form association was not correctly set up:
- When the element with the form attribute is created, nsGenericHTMLElement::AfterSetAttr() calls into AddFormAttributeObserver(),
- which calls Element::AddAttrAssociatedElementObserver(),
- which initialises its mLastKnownAttrElement to the element with the identical form and ID attribute, as GetAttrAssociatedElementInternal() calls into GetElementByIdInDocOrSubtree()
- Then, when the element is bound to the document, UpdateFormOwner() calls into AddFormAttributeObserver() again,
- which calls into Element::AddAttrAssociatedElementObserver() again
- which returns the *old* value for mLastKnownAttrElement.
This change ensures that when the element is bound to a new tree, it checks for attr-associated element updates from the ID scope changing, and calls listeners if the attr-associated element has changed.
This causes FormAttributeUpdated to fire, ensuring the correct form is associated with the element.
Differential Revision: https://phabricator.services.mozilla.com/D293534
- Adds the missing KeyframeAnimationOptions.timeline WebIDL
- Makes Element::Animate use KeyframeAnimationOptions.timeline when
appropriate, passing it to Animation::Constructor
Differential Revision: https://phabricator.services.mozilla.com/D296787
- Adds the missing KeyframeAnimationOptions.timeline WebIDL
- Makes Element::Animate use KeyframeAnimationOptions.timeline when
appropriate, passing it to Animation::Constructor
Differential Revision: https://phabricator.services.mozilla.com/D296787