Commit Graph

236 Commits

Author SHA1 Message Date
Andrea Marchesini
98865c5324 Bug 1425321 - Renaming nsINode::GetChildAt to GetChildAt_Deprecated, r=catalinb
We want to deprecate nsINode::GetChildAt as the first step of removing DOM node
child array storage. See bug 651120.
2018-01-03 13:59:54 +01:00
Emilio Cobos Álvarez
ebc2e23e06 Bug 1427511: Make GetFlattenedTreeParent more straight-forward. r=smaug
Now that accessing nsIContent slots is not a blob of virtual function calls, we
should be able to unify logic here, and speed up the not-so-rare case for
chrome, while keeping the usual case fast.

MozReview-Commit-ID: 87iY5Cbhx4T
2018-01-02 18:00:25 +01:00
Emilio Cobos Álvarez
60d8807d9e Bug 1427001: Move SetXBLBinding and SetShadowRoot to Element. r=smaug
MozReview-Commit-ID: 6FL1HR2Isa
2017-12-31 13:45:58 +01:00
Emilio Cobos Álvarez
a650f670e3 Bug 1427001: Stop duplicating slots. r=smaug
MozReview-Commit-ID: Cq647BcOzbe
2017-12-31 13:45:52 +01:00
Emilio Cobos Álvarez
8a71d3197b Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W
2017-12-25 17:50:10 +01:00
Emilio Cobos Álvarez
ecd202d763 Backout changeset e43f568b3e9a (bug 1423990) because some OSX-only code still doesn't build. r=me 2017-12-25 12:55:45 +01:00
Emilio Cobos Álvarez
b3956b6171 Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W
2017-12-07 19:13:50 +01:00
Emilio Cobos Álvarez
c12e56f25f Bug 1426503: Remove DestInsertionPoints stuff. r=smaug
MozReview-Commit-ID: KtaEqZn9GH3
2017-12-20 22:08:15 +01:00
Olli Pettay
3e750da23d Bug 1425441 - Move relatedTarget to WidgetEvent, r=stone 2017-12-18 19:08:11 +02:00
Olli Pettay
9c377ccc57 Bug 1412775 - Implement Event.composedPath, r=stone 2017-12-18 18:07:36 +02:00
Emilio Cobos Álvarez
c10ea9ea04 Bug 1423167: Move most attribute-related methods from nsIContent to Element. r=bz
MozReview-Commit-ID: 6WXqNiODttD
2017-12-06 16:05:59 +01:00
Jessica Jong
16a309bd7c Bug 1409975 - Part 3: Fix event get-the-parent algorithm for a node. r=smaug 2017-12-04 16:06:40 +08:00
Jessica Jong
af2b401f6a Bug 1409975 - Part 2: Include slots in the flat tree. r=smaug,emilio
We should consider slot as a parent in ChildIterator: if slot's
`assignedNodes` is not empty, use `assignedNodes`, otherwise, use direct
children as fallback content.
Also, GetFlattenedTreeParentNodeInternal should be changed to use
`assignedSlot` instead of `DestInsertionPoints`.
2017-12-04 16:06:37 +08:00
Kris Maglione
757373b0e0 Bug 1415352: Part 4b - Capture the subject principal in textContent setters. r=bz
This is necessary in order to capture the correct triggering principal for
inline <style> nodes.

MozReview-Commit-ID: 7g1n3bdHVi4
2017-11-07 14:01:21 -08:00
Kris Maglione
913a54b7fe Bug 1415352: Part 1d - Use correct subject principal in CSS environment when modifying attr declarations. r=bz
MozReview-Commit-ID: AnurVwl65fX
2017-11-05 13:23:49 -08:00
Emilio Cobos Álvarez
c5b33117f7 Bug 1419334: Fix GetFlattenedTreeParentNodeInternal test for unassigned XBL children nodes. r=smaug
We check for them when the node doesn't have the MAY_BE_IN_BINDING_MNGR flag,
but the flag is not precise, so in presence of dynamic changes that somehow make
the node assigned, then unassigned, like changing the binding, it may not be
correct.

MozReview-Commit-ID: 9jyqCnR0yFn
2017-11-21 10:32:47 +01:00
Emilio Cobos Álvarez
9b91f7e467 Bug 1419330: Make GetXBLBinding not an unconditional virtual call. r=smaug
MozReview-Commit-ID: IJB4OHsFM5v
2017-11-21 10:27:49 +01:00
Cosmin Sabou
eda407a70d Merge inbound to mozilla-central r=merge a=merge 2017-11-21 00:01:02 +02:00
Jon Coppeard
90415fd427 Bug 1417123 - Remove or replace inclusion of js/GCAPI.h r=mccr8 2017-11-16 12:21:08 +00:00
Emilio Cobos Álvarez
f7e7d95d27 Bug 1418560: Properly return null from GetFlattenedTreeParent if the node is XBL fallback content and the binding is active. r=heycam
Otherwise we may inappropriately style it or what not. This asserts with the
patches of bug 1414999 plus the cleanup of bug 1418456, since we no longer do
StyleNewChildren (which walks over the flattened tree children).

Too bad that GetXBLBinding is a virtual call in Gecko, probably can do just
MAY_BE_IN_BINDING_MGR...

MozReview-Commit-ID: CNU0YdKeaR0
2017-11-20 17:32:07 +01:00
btian
78a18fdfb5 Bug 1411878 - Support Element.shadowRoot and Element.assignedSlot / TextNode.assignedSlot on closed shadow root r=mrbkap
MozReview-Commit-ID: DSiGN7h5ErY
2017-11-02 16:53:44 +08:00
Sebastian Hengst
c415119ad9 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: DasxLYlgq0N
2017-10-27 23:30:52 +02:00
btian
cc960da179 Bug 1384661 - Part 3: Invalidate cached child array when list of children changes. r=smaug 2017-10-23 15:04:14 +08:00
btian
a644fd2605 Bug 1384661 - Part 2: Add class nsParentNodeChildContentList. r=smaug 2017-08-21 16:11:56 +08:00
Nicholas Nethercote
465f16fc67 Bug 1411893 - Introduce nsStaticAtom. r=emilio,froydnj.
It's a sub-class of nsAtom, useful for cases where you know you are dealing
exclusively with static atoms. The nice thing about it is that you can use
raw nsStaticAtom pointers instead of RefPtr<>. (In fact, the AddRef/Release
implementations ensure that we'll crash if we use RefPtr<nsStaticAtom>.)

MozReview-Commit-ID: 4Q6QHX5h44V
2017-10-27 10:31:13 +11:00
Sebastian Hengst
fa4049d35d merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: LcCWQzgwIBi
2017-10-26 23:57:40 +02:00
Edgar Chen
3d27cb86dc Bug 1410790 - Add more assertion in CustomElementData::SetCustomElementDefinition and GetCustomElementDefinition; r=smaug
This is a follow-up patch for bug 1392970. Since we only set CustomElementDefinition on a custom element
which is "custom", we could add more assertion to ensure that.

MozReview-Commit-ID: 2sLP53bAYVV
2017-10-13 11:54:46 +08:00
Emilio Cobos Álvarez
be07c8b3d4 Bug 1410895: Multiple cleanups on top. r=bz
MozReview-Commit-ID: GX3dfmWL083
2017-10-23 16:06:50 +02:00
Emilio Cobos Álvarez
42c18bf1e4 Bug 1410895: Make XBL slots hold the insertion point, not the XBL parent. r=bz
This is pretty much a straight-forward change except for a single thing, the
UpdateInsertionParent calls.

However, I cannot make any sense of them. They go through the inserted children
setting the insertion point, but then ClearInsertionPoints() is called.

ClearInsertionPoints calls XBLChildrenElement::ClearInsertedChildren, which sets
all the insertion points to null anyway.

Thus, I've removed that function completely.

MozReview-Commit-ID: 80daGQfLZrV
2017-10-23 15:52:08 +02:00
btian
83d3900a54 Bug 1384661 - Part 1: Rename class nsChildContentList to nsAttrChildContentList. r=smaug 2017-08-11 10:12:17 +08:00
Attila Craciun
9f7c07ad67 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-10-26 12:34:39 +03:00
Jessica Jong
b5c9aff6d6 Bug 1408341 - Implement assignedSlot on Element and Text. r=smaug 2017-10-19 14:31:36 +08:00
btian
d6276dc77c Bug 1406395 - P3: Backout changeset b679806ce7e3 (bug 1384661 part 1). r=smaug 2017-10-13 12:06:43 +08:00
btian
1774ab1b8d Bug 1406395 - P2: Backout changeset 8f77d260780d (bug 1384661 part 2). r=smaug 2017-10-13 12:05:54 +08:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Sebastian Hengst
4a3132e6a6 merge mozilla-central to autoland. r=merge a=merge 2017-10-07 10:52:29 +02:00
Tobias Schneider
5c3b72e3a7 Bug 1316277 - Move intersection observer list from DOMSlots to a property. r=mrbkap 2017-10-05 20:42:55 -07:00
Xidorn Quan
701ff1defa Bug 1406277 - Completely remove xml:base for style attribute. r=bz
This commit removes:
* layout.css.style-attr-with-xml-base.disabled pref
* deprecation XMLBaseAttributeForStyleAttr
* code path for getting base URI of style attr considering xml:base

MozReview-Commit-ID: 1w96eqhHPab
2017-10-06 15:45:33 +11:00
Bobby Holley
dd29d7532f Bug 1404316 - Use the nsContentUtils machinery for identifying document-level NAC in GetFlattenedTreeParentNodeInternal. r=emilio
MozReview-Commit-ID: 74UMBeZBZcw
2017-10-01 14:08:18 -07:00
Sebastian Hengst
be9fcdcb25 Backed out changeset e6663f10c42b (bug 1404316) for crashing in devtools/server/tests/browser/browser_canvasframe_helper_04.js on Windows 7 debug with non-e10s builds. r=backout 2017-10-01 10:08:17 +02:00
Bobby Holley
8bc2e8236d Bug 1404316 - Use the nsContentUtils machinery for identifying document-level NAC in GetFlattenedTreeParentNodeInternal. r=emilio
MozReview-Commit-ID: 74UMBeZBZcw
2017-09-30 21:17:33 -07:00
Phil Ringnalda
3920cc56da Backed out 2 changesets (bug 1404316) for debug build bustage
Backed out changeset 555a9dafe460 (bug 1404316)
Backed out changeset e939fa11b68c (bug 1404316)

MozReview-Commit-ID: 5ek3To3HsWo
2017-09-30 21:09:30 -07:00
Bobby Holley
5b661abd2b Bug 1404316 - Use the nsContentUtils machinery for identifying document-level NAC in GetFlattenedTreeParentNodeInternal. r=emilio
MozReview-Commit-ID: 74UMBeZBZcw
2017-09-30 20:02:39 -07:00
Nicholas Nethercote
9fda5528d2 Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ
2017-09-26 08:33:21 +10:00
Jessica Jong
f9802d797f Bug 1392970 - Part 1: Make CustomElementDefinition ref-counted and put it in CustomElementData. r=smaug
MozReview-Commit-ID: DIQN3JFxkT8
2017-09-25 02:46:00 -04:00
Olli Pettay
98580ecdff Bug 1396584 - Remove support for multiple ShadowRoots, r=mrbkap 2017-09-25 18:09:26 +03:00
Emilio Cobos Álvarez
ee9ab193e0 Bug 1400936: Only tear down the servo data in SetXBLInsertionParent if the parent actually changed. r=bholley
This is the reason similar assertion failures can't be reproduced with elements
and stuff like fieldset and form validity changes.

nsBindingManager::ContentRemoved calls SetXBLInsertionParent, which clears all
the Servo data from the subtree eagerly, which is a waste when the actual
binding parent is the same (null).

MozReview-Commit-ID: A5wLKfD4OTL
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-09-23 04:49:09 +02:00
Catalin Badea
f8860e73dc Bug 1395945 - Remove child array getter. r=ehsan 2017-09-01 22:13:49 +01:00
Emilio Cobos Álvarez
7de95ee5a9 Bug 1394935: Return the document as the flattened tree parent of doc-level NAC. r=bholley
MozReview-Commit-ID: 1m3BBU14MNe
2017-08-31 20:05:03 +02:00
Nathan Froyd
acbe7a8f56 Bug 1393592 - manually de-virtualize nsIWeakReference::QueryReferent; r=ehsan
The virtual call to this method shows up in profiles, and therefore
would be nice to avoid if possible.  We can do that by making
nsIWeakReference hold the weak reference itself and therefore
implementing a non-virtual QueryReferent method.
2017-08-25 13:48:29 -04:00