Commit graph

30 commits

Author SHA1 Message Date
Moonchild
c8db9efb3c Issue #2736 - Part 4: Re-work img <src> attribute.
Use subject principal as triggering principal in <img> "src" attribute.
Also get rid of the `BeforeMaybeChangeAttr`/`AfterMaybeChangeAttr` dance:
It makes more logical sense for these effects to happen _after_ the
attribute has actually been changed.
2025-05-14 14:23:17 +08:00
Moonchild
824d0cad58 Issue #2736 - Part 2: Pass subject principal to SetAttribute and friends.
In order to tailor certain security checks to the caller that is
attempting to load a particular piece of content, we need to be able to
attach an appropriate triggering principal to the corresponding requests.

Since most HTML content is loaded based on attribute values, this means
capturing the subject principal of the caller who sets those attributes,
which in turn means we need to make it available to `AfterSetAttr` hooks
on all relevant element types.
2025-05-14 14:22:13 +08:00
FranklinDM
4d7bdedade Issue #2488 - Part 2: Remove the DeclarationBlock class and use Declaration directly 2024-04-02 22:47:20 +08:00
FranklinDM
63076e4211 Issue #2488 - Part 1b: Move PseudoElementType getter/setter implementation of Element away from header 2024-04-02 22:47:00 +08:00
FranklinDM
f5792e6b64 Issue #2112 - Part 12: Remove reserved Servo bits from node/element flags and event states 2024-04-02 22:44:53 +08:00
FranklinDM
10bf8705d0 Issue #2112 - Part 6: Remove IsStyledByServo function and callers 2024-04-02 22:41:54 +08:00
FranklinDM
45c179d01b Issue #2135 - Bug 1453789: Remove Element.createShadowRoot 2023-03-06 16:16:40 +08:00
Moonchild
8c395520d9 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Matt A. Tobin
db72493615 Bug 1426494 - Share more code between nsIDocument and ShadowRoot
Tag #1375
2020-06-20 06:43:47 +08:00
Matt A. Tobin
7e48e4407c Bug 1426503 - Remove DestInsertionPoints stuff
Tag #1375
2020-04-18 07:06:32 +08:00
Matt A. Tobin
31b26a24e3 Bug 1411878 - Support Element.shadowRoot and Element.assignedSlot / TextNode.assignedSlot on closed shadow root
Tag #1375
2020-04-18 07:05:29 +08:00
Matt A. Tobin
67c4d022dc Bug 1404842 - Implement Element.attachShadow and Element.slot
Tag #1375
2020-04-18 07:05:26 +08:00
Matt A. Tobin
fe13c5bffc Bug 1375701 - Atomize class attribute value in the parser in the innerHTML case
Tag #1375
2020-04-18 07:04:45 +08:00
Matt A. Tobin
3b2a22f085 Bug 1373798 - Move HTML dir attribute state into event state flags
* Stop calling SetHasDirAuto/ClearHasDirAuto in input element code
* Introduce event state flags that track the state of an element's dir attribute
* Rewrite our existing checks for the state of the dir attr on top of the new event state flags
* Add pseudo-classes for matching on the dir attribute states
* Use the new dir attribute pseudoclasses in html.css

Tag #1375
2020-04-18 07:04:25 +08:00
Matt A. Tobin
6aa436b588 Bug 1365092 - Move side effects of SetAttr and ParseAttribute to BeforeSetAttr and AfterSetAttr
* Moves side effects of nsGenericHTMLElement and Element's SetAttr, UnsetAttr, and ParseAttribute functions to the corresponding BeforeSetAttr and AfterSetAttr functions
* Moves side effects of HTMLAnchorElement's SetAttr, UnsetAttr, and ParseAttribute functions to the corresponding BeforeSetAttr and AfterSetAttr functions
* Moves side effects of HTMLImageElement's SetAttr function to the corresponding BeforeSetAttr and AfterSetAttr functions
* Moves side effects of SetAttr, UnsetAttr, and ParseAttribute functions to BeforeSetAttr and AfterSetAttr

Tag #1375
2020-04-18 07:04:04 +08:00
Matt A. Tobin
1f233fa14b Bug 1363481 - Add the old attribute value as a parameter to Element::AfterSetAttr
Tag #1375
2020-04-18 07:03:55 +08:00
Matt A. Tobin
922cbf0217 Bug 1352389 -Don't push extra script blocker on stack when setting attributes
Tag #1375
2020-04-18 07:03:37 +08:00
Matt A. Tobin
7a3f9be509 Bug 656197 - Push state updates further out across beforesetattr/aftersetattr
* Remove the generic attr preparsing mechanism from BeforeSetAttr and just preparse class attributes directly in the one place that needs to do it
* Move calls to BeforeSetAttr to after AttributeWillChange
* Remove UpdateState calls in BeforeSetAttr
* Move calls to AfterSetAttr to before UpdateState when manipulating attributes
* Remove UpdateState calls from AfterSetAttr, since they are no longer needed there

Tag #1375
2020-04-18 07:03:22 +08:00
Matt A. Tobin
b723a5c8c4 Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time
* Stop using a node bit for HasExplicitBaseURI
* Move MAY_HAVE_CLASS to mBoolFlags
* Add a flag to indicate that a node is native anonymous content
* Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo

Tag #1375
2020-04-18 07:03:03 +08:00
Matt A. Tobin
a03838af22 Bug 1321284 - Crash in nsCSSFrameConstructor::GetInsertionPrevSibling when trying to reframe native anonymous content
* Make StyleChildrenIterator skip NAC generated by root element primary frame ancestors.
* Add nsINode::GetFlattenedTreeParentNodeForStyle.
* Add iterator class to find all restyle roots.

NOTE: Parts 1, 2, and "4.2"

Tag #1375
2020-04-18 07:02:47 +08:00
Matt A. Tobin
cb2b45e472 Bug 1305458 - Changing -moz-appearence on hover breaks change event
* Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent
* Add nsIDOMEventTarget::PreHandleEvent
* Add EventTargetChainItem::GetFirstEventTarget
* Call EventTargetChainItem::PreHandleEvent even it sets mCanHandle=false
* Move form control frame focus/blur from nsGenericHTMLFormElement::GetEventTargetParent to PreHandleEvent
* Move fire change event from HTMLTextAreaElement::GetEventTargetParent to PreHandleEvent
* Refine nsXULElement::GetEventTargetParent
* Move dispatch XUL command from nsXULElement::GetEventTargetParent to PreHandleEvent
* Move fire events and set value from HTMLInputElement::GetEventTargetParent to PreHandleEvent
* Add test case
* Let HTMLInputElement delegate event handling to it's parent class
* Refine EventTargetChain flags to reduce overheads
* Refine event target chain creation
* Refine assertion in EventTargetChainItem::Create

Tag #1375
2020-04-18 07:02:44 +08:00
Gaming4JC
7ce1742985 Bug 1392970 - Part 1: Make CustomElementDefinition ref-counted and put it in CustomElementData.
Tag UXP Issue #1344
2020-01-31 07:37:25 +08:00
Gaming4JC
dd7fa403a8 Bug 1377993 - Make node slots less memory hungry in common cases.
Tag UXP Issue #1344
2020-01-31 07:36:13 +08:00
Gaming4JC
7f03d02552 Bug 1347634 - GetCustomElementData and SetCustomElementData don't need to be virtual;
Tag UXP Issue #1344
2020-01-31 07:36:11 +08:00
wolfbeast
14ea8bb121 Align Element.ScrollIntoView() with the spec.
This also removes the (unused) shadow alias from nsIDOMHTMLElement
which used the different calling convention.

This resolves #927
2019-02-16 00:24:00 +08:00
wolfbeast
42d9f2ffb3 Revise lifetime management of IntersectionObservers.
Tag #249
2019-02-16 00:22:51 +08:00
janekptacijarabaci
8714f52f69 DOM - Element - add support for Element.toggleAttribute() 2019-02-16 00:08:52 +08:00
wolfbeast
5af4107852 Stabilize and align Intersection Observers
- Fixes several crashes
- Aligns the feature with the W3C WD spec

Tag #249
2019-02-16 00:05:46 +08:00
janekptacijarabaci
b9e802f497 HTML - implement the labels attribute (follow up) 2019-02-15 23:36:21 +08:00
Roy Tam
dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00