46 Commits

Author SHA1 Message Date
Moonchild 22a75217e1 Issue #1783 - Part 1: Move GetNodeDepth to ResizeObserver.cpp
GetNodeDepth() is a specialized version for ResizeObserver to get the depth of
a node across Shadow DOM. It's better to have this in ResizeObserver.cpp
instead of the generic ContentUtils.

Also updated the function to bypass the shadow root itself and not count it
because ResizeObserver doesn't observe the shadow root and only needs the
relative depths among all observed targets. IOW we use the flattened tree here.
2021-06-18 17:44:33 +00:00
Moonchild 0dd3424f77 Issue #1751 -- Remove XP_MACOSX conditionals from /dom 2021-04-30 21:22:08 +00:00
Moonchild 77d26e8bcd [dom] Update noscript serialization to the changed spec.
Make <noscript> escaping conditional on whether scripting is enabled.
2021-02-24 09:05:30 +00:00
Matt A. Tobin 7702d1f3fa Issue #1390 - Clean up presentation api leftovers 2021-01-25 17:38:49 -05:00
Moonchild a680bdc637 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-23 13:55:00 +00:00
Moonchild b4eda697ce Issue #1643 - Part 1: Add GetNodeDepth() to nsContentUtils. 2020-09-16 13:30:35 +00:00
Moonchild 3b0123aa12 [network/dom] Improve sanitization of download filenames. 2020-07-29 01:21:13 +00:00
Matt A. Tobin 43725c7264 Bug 1426494 - Share more code between nsIDocument and ShadowRoot
Tag #1375
2020-06-13 08:21:48 -04:00
Matt A. Tobin f35aa3e15f Issue #1375 - Merge CustomElements pref with Webcomponents Pref 2020-04-17 07:44:11 -04:00
Matt A. Tobin b93fb57514 Bug 1426536 - Remove nsContentUtils::IsContentInsertionPoint
Tag #1375
2020-04-17 07:36:25 -04:00
Matt A. Tobin fd7a325bc0 Bug 1422931 - Fix crash with slot element and make webcomponents preference per-doc
Tag #1375
2020-04-17 07:25:14 -04:00
Matt A. Tobin f0b7ba1e2b Bug 1419799 - Fix nsContentUtils::IsInSameAnonymousTree in Shadow DOM
Tag #1375
2020-04-17 07:23:48 -04:00
Matt A. Tobin e31ed5b074 Bug 1409975 - Implement node distribution for shadow tree slots
* Implementation for assignedNodes
* Include slots in the flat tree
* Fix event get-the-parent algorithm for a node
* Update and add reftests for Shadow DOM v1
* Update web platform tests expectations

Tag #1375
2020-04-17 07:10:54 -04:00
Matt A. Tobin 8beb65dd50 Bug 1418002 - Remove HTMLContentElement
Tag #1375
2020-04-17 07:08:22 -04:00
Matt A. Tobin 5524318fe7 Bug 1416999 - Remove document.registerElement
Tag #1375
2020-04-17 07:07:09 -04:00
Matt A. Tobin 5f12940329 Bug 1396584 - Remove support for multiple ShadowRoots
Tag #1375
2020-04-17 06:34:38 -04:00
Matt A. Tobin 61e46a6d58 Issue #1375 - Stop largely using the parser service
This is based on Bug 1395828

* Add nsHTMLElement::IsBlock()
* Rename nsHTMLTags methods
* Remove AssertParserServiceIsCorrect()
* Remove most uses of nsIParserService/nsParserService
2020-04-17 06:24:43 -04:00
Matt A. Tobin 70c8ff8e5a Bug 1377978 - Make nsRange use uint32_t to offset
Tag #1375
2020-04-17 06:10:23 -04:00
Matt A. Tobin 0d362ca503 Bug 1330843 - Allow JS to create NAC pseudo-elements
Tag #1375
2020-04-17 05:01:17 -04:00
Matt A. Tobin bebec8fcb8 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-14 21:50:13 -04:00
win7-7 52940bc44c Issue #1384 - Match standard for colSpan/rowSpan
HTML standardizes proper behavior of colSpan and rowSpan:

The main thing is that getting the .rowSpan and .colSpan IDL properties will now return the actual clamped value that we use.
2020-02-03 16:59:23 +02:00
Gaming4JC 3c70b297c7 Bug 1430951 - Avoid element name atomizing to improve performance of LookupCustomElementDefinition
Since we are dealing with the element (nodeInfo->LocalName() and NameAtom() are the same value), we could use nodeInfo->NameAtom() instead.

Tag UXP Issue #1344
2020-01-26 15:50:52 -05:00
Gaming4JC 43a8113072 Bug 1405821 - Move microtask handling to CycleCollectedJSContext
Tag UXP Issue #1344
2020-01-26 15:50:49 -05:00
Gaming4JC 93313b0ce3 Bug 1406325 - Part 5: Implement try to upgrade.
Tag UXP Issue #1344
2020-01-26 15:50:46 -05:00
Gaming4JC fb657f7a1e Bug 1406325 - Part 4: Use mType for LookupCustomElementDefinition and also removing parts of v0.
Tag UXP Issue #1344
2020-01-26 15:50:46 -05:00
Gaming4JC 8e6ce5fae7 Bug 1121994 - Implement adopted callback for custom elements.
Tag UXP Issue #1344
2020-01-26 15:50:30 -05:00
Gaming4JC 3d4c410091 Bug 1334043 - Part 2: Make nsContentUtils::EnqueueLifecycleCallback static.
We make nsContentUtils::EnqueueLifecycleCallback static so that it can be called without a window object. To achive this, we also make CustomElementReaction not taking a CustomElementRegistry in the constructor, as it can call Upgrade statically.

Tag UXP Issue #1344
2020-01-26 15:50:29 -05:00
Gaming4JC 42331663e6 Bug 1392970 - Part 2: Get CustomElementDefinition from CustomElementData when possible.
Tag UXP Issue #1344
2020-01-26 15:50:28 -05:00
Gaming4JC f50503df9c Bug 1301024 - Part 2: Implement create an element steps.
Tag UXP Issue #1344
2020-01-26 15:50:27 -05:00
Gaming4JC bf004bb63b Bug 1334051 - Part 2: Invoke attributeChangedCallback only if attribute name is in the observed attribute list.
We call attributeChangedCallback in two cases:

1. When any of the attributes in the observed attribute list has changed, appended, removed, or replaced.

2. When upgrading an element, for each attribute in element's attribute list that is in the observed attribute list.

Note: w/ Fixup for not implementing an API Enhancement Bug 1363481.

Tag UXP Issue #1344
2020-01-26 15:50:25 -05:00
Gaming4JC 9abc9b2b78 Bug 1357002 - Part 1: Cache dom.webcomponents.customelements.enabled preference;
Tag UXP Issue #1344
2020-01-26 15:50:15 -05:00
Gaming4JC 859fbc139a Bug 1341898 - Make nsDocument::IsWebComponentsEnabled use a cached bool pref;
Note: Minus IPC bit.

Tag UXP Issue #1344
2020-01-26 15:50:15 -05:00
win7-7 deae241f5e Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
2019-08-08 16:44:51 +03:00
win7-7 a3434ba005 add main thread only cache for nsIAtoms to speed up atomization dom/base
add main thread only cache for nsIAtoms to speed up atomization
2019-05-24 13:56:08 +03:00
wolfbeast 6195a2f1e2 Fix build bustage in cbfef7fcdb
- imageDetails.format() needs a cast to SurfaceFormat
- style nit: wrap long lines.
2018-09-11 13:53:06 +02:00
wolfbeast 09319b435f Release mapped surface memory on size check failure to plug a leak. 2018-09-11 12:48:40 +02:00
wolfbeast cbfef7fcdb Move surface data checking to a separate function to make it less "totally nuts" 2018-09-11 12:47:26 +02:00
Moonchild ae432c6367 Bug 1357432 (#750)
* Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)

`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a util function.

* Revert "Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)"

This reverts commit 19f010c620.

* Part 1. Duplicate IsLocalRefURL to nsContentUtils to reuse this function.

`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, duplicate it to nsContentUtils as a util function.
This is a duplication because CSSValue uses stringbuffers and not nsStrings.
While Bug 1356060 - "Just use nsString in URLValueData" converts this use from stringbuffer to nsString, it builds on a bunch of vartype refactoring (nsString vs. nsAString, etc.) which is too much of a headache to deal with just to deduplicate this simple function.

* Part 2. Implement nsSVGEffects::GetBaseURLForLocalRef to export local-ref-url-resolving logic.

ResolveURLUsingLocalRef is designed to be internally used by nsSVGEffects::Get-{SVGEffect}-URI functions.
Since we also need it in SVGUseElement::LookupHref, make it public in nsSVGEffects.

* Part 3. Resolve local-ref in SVGUseElement::LookupHref by nsSVGEffects::GetBaseURLForLocalRef.

* Part 4. Reftest for using local-ref as xlink:href value.
2018-09-05 03:20:16 +02:00
janekptacijarabaci 74858918fa Bug 1329032 - Extend loadURIWithOptions by a triggeringPrincipal (without an hard e10s) 2018-04-30 22:57:23 +02:00
janekptacijarabaci d45c25971c Bug 1182569 - Skip security check for plugins using newstream attribute 2018-04-30 22:09:55 +02:00
janekptacijarabaci 306db80410 moebius#161: The Performance Resource Timing (make timestamps be relative to startTime)
https://github.com/MoonchildProductions/moebius/pull/161
2018-04-29 14:15:18 +02:00
janekptacijarabaci 3968897fb4 Bug 1431095 - Change Content-Type-Options: nosniff allowed script MIME types to match the spec 2018-04-03 19:50:55 +02:00
janekptacijarabaci ea44e60b7e HTML - implement the labels attribute (follow up) 2018-03-12 10:01:04 +01:00
wolfbeast e9f79ad465 Fix errant comma in 4470f78754 2018-02-07 11:48:23 +01:00
wolfbeast 4470f78754 Avoid unnecessary string creation. 2018-02-07 11:13:44 +01:00
Matt A. Tobin 5f8de423f1 Add m-esr52 at 52.6.0 2018-02-02 04:16:08 -05:00