Commit Graph

376 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
dbef1026a1 Bug 1484478 - Use a node bit for connectedness. r=smaug
While trying to repro bug 1484293 I noticed that this assertion failed:

https://searchfox.org/mozilla-central/rev/ef8b3886cb173d5534b954b6fb7eb2d94a9473d0/dom/base/ShadowRoot.cpp#160

(during unlink, while unbinding the kids)

We rely on GetComposedDoc returning the right thing during unbind to cleanup
some stuff (see bug 1473637 for example), so it should probably be correct all
the time, regardless of whether something is unlinked or not.

Also this makes GetComposedDoc() much faster, which is nice too, since we call
it somewhat often.

I removed NodeHasRelevantHoverRules, since it's unused (was used by the old
style system).

I moved the SetIsConnected(false) call for the shadow root to before unbinding
the kids for consistency with what Element does with the uncomposed doc flag,
now that the children's connectedness doesn't depend on the shadow root's.

Differential Revision: https://phabricator.services.mozilla.com/D3715
2018-08-20 11:56:27 +00:00
shindli
ccab0e0f23 Backed out changeset 39f61de4e7bb (bug 1484478) for bustages in /builds/worker/workspace/build/src/dom/base/ShadowRoot.cpp:526:20 2018-08-20 14:21:08 +03:00
Emilio Cobos Álvarez
2e3815789f Bug 1484478 - Use a node bit for connectedness. r=smaug
While trying to repro bug 1484293 I noticed that this assertion failed:

https://searchfox.org/mozilla-central/rev/ef8b3886cb173d5534b954b6fb7eb2d94a9473d0/dom/base/ShadowRoot.cpp#160

(during unlink, while unbinding the kids)

We rely on GetComposedDoc returning the right thing during unbind to cleanup
some stuff (see bug 1473637 for example), so it should probably be correct all
the time, regardless of whether something is unlinked or not.

Also this makes GetComposedDoc() much faster, which is nice too, since we call
it somewhat often.

I removed NodeHasRelevantHoverRules, since it's unused (was used by the old
style system).

I moved the SetIsConnected(false) call for the shadow root to before unbinding
the kids for consistency with what Element does with the uncomposed doc flag,
now that the children's connectedness doesn't depend on the shadow root's.

Differential Revision: https://phabricator.services.mozilla.com/D3715
2018-08-19 18:22:48 +00:00
Timothy Guan-tin Chien
b367b1030b Bug 1431255 - Part V, Set the reflectors of the UA Widget DOM to UA Widget Scope r=bholley
The DOM elements within the UA Widget Shadow DOM should have its reflectors in
the UA Widget Scope. This is done by calling nsINode::IsInUAWidget() which
would check its containing shadow and its UA Widget bit.

To prevent JS access of the DOM element before it is in the
UA Widget Shadom DOM tree, various DOM methods are set to inaccessible to
UA Widget script. It would need to use the two special methods in ShadowRoot
instead to insert the DOM directly into the shadow tree.

MozReview-Commit-ID: Jz9iCaVIoij
2018-06-29 13:39:46 -07:00
Olli Pettay
a5ec8bf01d Bug 1469521 - Change storage of previous and next children in nsINode, r=bz 2018-08-06 22:29:27 +03:00
Olli Pettay
b6375baa8b Bug 1480147 - Add [ChromeOnly] Node.flattenedTreeParentNode, r=mrbkap 2018-08-02 14:54:15 +03:00
Jan de Mooij
48d34e468e Bug 1479363 part 1 - Use JSAutoRealm instead of JSAutoRealmAllowCCW in dom/base. r=bz 2018-08-02 08:48:40 +02:00
Emilio Cobos Álvarez
bc847c0eef Bug 1479860: Remove unused aCompileEventHandlers argument from BindToTree. r=bz
Mostly automatic via sed. Only parts which I touched manually (apart from a
couple ones where I fixed indentation or which had mispelled arguments) are the
callers. I may have removed a couple redundant `virtual` keywords as well when
I started to do it manually, I can revert those if wanted.

Most of them are just removing the argument, but in Element.cpp I also added an
assertion for GetBindingParent when binding the ShadowRoot's kids (the binding
parent is set from the ShadowRoot constructor, and I don't think we bind a
shadow tree during unlink or what not which could cause a behavior difference).

Differential Revision: https://phabricator.services.mozilla.com/D2574

MozReview-Commit-ID: 2oIgatty2HU
2018-08-01 10:42:54 +02:00
Jan de Mooij
fddc23c346 Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
Zibi Braniecki
b0b1b1417f Bug 1475704 - Check for OOM in nsINode::Localize. r=smaug
Check for OOM in nsINode::Localize.

Differential Revision: https://phabricator.services.mozilla.com/D2483
2018-07-27 22:36:14 +00:00
Brian Grinstead
09860179b7 Bug 1475342 - Move document.getElementsByAttribute[NS] to ParentNode so it'll work for HTML document and elements;r=bz
It's currently only accessible on XULDocument and XULElement, but that makes porting existing
JS to run in an HTML document inconvenient. We could alternatively change calling JS, but
this can be easily moved and exposed in chrome contexts.

MozReview-Commit-ID: JitYET20NSE
2018-07-26 13:40:13 -07:00
Boris Zbarsky
df3b83f98c Bug 1450167. Stop using atom-or-string for event names in the listener manager. r=smaug
Now that we support atoms off the the main thread, we can just use atoms.
2018-07-24 18:15:19 -04:00
Emilio Cobos Álvarez
fa38b50040 Bug 1477544: Add a null-check to handle unlinking properly. r=me
MozReview-Commit-ID: 8K9h6IJpF1K
2018-07-22 15:36:13 +02:00
Emilio Cobos Álvarez
c97bcecad8 Bug 1450250: Make svg:use use an actual shadow tree. r=heycam
Summary:
This fixes a couple fuzz bugs and prevents special-casing <svg:use> even more in
bug 1431255.

Unfortunately not as many hacks went away as I'd have hoped, since we still need
to match document rules, see the linked SVGWG issues.

But blocks_ancestor_combinators goes away, which is nice since it's on a very
hot path.

Test Plan: WPT for style invalidation, covered by existing tests otherwise.

Reviewers: heycam

Tags: #secure-revision

Bug #: 1450250

Differential Revision: https://phabricator.services.mozilla.com/D2154

MozReview-Commit-ID: C4mthjoSNFh
2018-07-20 14:44:51 +02:00
Boris Zbarsky
e969056275 Bug 1465907 part 2. Remove nsIAttribute. r=mccr8 2018-07-12 15:51:52 -07:00
Jan de Mooij
8ffe05c797 Bug 1472973 part 12 - Use JS::GetNonCCWObjectGlobal in CheckForOutdatedParent. r=bz 2018-07-12 12:14:37 +02:00
Boris Zbarsky
35cb898b59 Bug 1471095. Don't do extra work we don't need to in ReparentWrappersInSubtree. r=smaug 2018-06-28 23:36:46 -04:00
Doug Thayer
aa5ae5777d Bug 1340498 - Fix unified sources build errors r=mrbkap
Adding the Places* files into unified sources pushed the
unified sources into a situation that exposed a strangely
large number of errors. This seems to be the minimum set of
changes I could make to resolve all of the issues.

MozReview-Commit-ID: C2H9ce8FmE4
2018-04-13 11:04:47 -07:00
Dorel Luca
1dbfe28bab Backed out 5 changesets (bug 1340498) for build bustage due to conflicts with bug 1470325. a=backout
Backed out changeset 28bedb658af4 (bug 1340498)
Backed out changeset f950a2310e26 (bug 1340498)
Backed out changeset 5fcd31c65fe0 (bug 1340498)
Backed out changeset 515bb5e24dd7 (bug 1340498)
Backed out changeset 79a8619bd3e2 (bug 1340498)
2018-06-27 14:05:20 +03:00
Dorel Luca
a16f2f280d Merge mozilla-inbound to mozilla-central. a=merge 2018-06-27 13:26:49 +03:00
Jeff Gilbert
70a22b2878 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Doug Thayer
304016ba3c Bug 1340498 - Fix unified sources build errors r=mrbkap
Adding the Places* files into unified sources pushed the
unified sources into a situation that exposed a strangely
large number of errors. This seems to be the minimum set of
changes I could make to resolve all of the issues.

MozReview-Commit-ID: C2H9ce8FmE4
2018-04-13 11:04:47 -07:00
Chris Peterson
f7ceeaf5cf Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr
2018-06-17 22:43:11 -07:00
Bogdan Tara
b9179b41dc Backed out 5 changesets (bug 1340498) for build bustages on nsDOMCSSAttrDeclaration.h CLOSED TREE
Backed out changeset 9ebcdb66ceff (bug 1340498)
Backed out changeset 63321093bb70 (bug 1340498)
Backed out changeset f8c799971f81 (bug 1340498)
Backed out changeset 21d8c1fbbbd1 (bug 1340498)
Backed out changeset fa40c179eb0d (bug 1340498)
2018-06-26 21:31:09 +03:00
Doug Thayer
6d1ae9df07 Bug 1340498 - Fix unified sources build errors r=mrbkap
Adding the Places* files into unified sources pushed the
unified sources into a situation that exposed a strangely
large number of errors. This seems to be the minimum set of
changes I could make to resolve all of the issues.

MozReview-Commit-ID: C2H9ce8FmE4
2018-04-13 11:04:47 -07:00
8b5d84e341 Bug 1469385 - Remove InsertChildAt_Deprecated and RemoveChildAt_Deprecated, r=bz,smaug 2018-06-19 12:21:18 +03:00
Ciure Andrei
3e121ae79e Merge inbound to mozilla-central. a=merge 2018-06-15 12:49:01 +03:00
Boris Zbarsky
9325a23943 Bug 1466991 part 2. Reparent nodes when they start being in the XBL scope. r=smaug 2018-06-14 19:17:42 -04:00
Olli Pettay
d107f4ae65 Bug 1467790 - Inline nsINode::IsEditable, r=masayuki 2018-06-08 15:57:13 -04:00
Mats Palmgren
0dd35729f8 Bug 1467503 - Make it compile with --disable-accessibility again. r=surkov 2018-06-07 18:43:06 +02:00
Tokio Kajitsuka
9f7e9d30e2 Bug 1462465 - Cache AccessibleNode in Node. r=surkov,smaug
Cache AccessibleNode and make it able to operate the same instance by nsINode::GetAccessibleNode
2018-05-26 22:47:48 +09:00
Boris Zbarsky
60c53c2aa9 Bug 1464784. Hold a strong ref to the document in callers of ConvertNodesOrStringsIntoNode. r=smaug 2018-06-02 01:26:00 -04:00
Emilio Cobos Álvarez
4b8b5e1717 Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Olli Pettay
d3519f75d4 Bug 1462746, ensure SubtreeRoot always returns non-null value, r=mrbkap 2018-06-01 00:11:45 +03:00
Boris Zbarsky
86d99155db Bug 1455676 part 14. Remove most use of nsIDOMNode in dom/. r=qdot 2018-05-29 22:58:49 -04:00
rahul0379
b7e8b14fdd Bug 1464433 - Cleaning up nsINode::GetElementById. r=emilio 2018-05-27 10:03:48 +02:00
Olli Pettay
3627dc8f11 Bug 1461321 - input.list should work in shadow DOM, r=peterv 2018-05-24 22:46:11 +03:00
Olli Pettay
aa892e76ad Bug 1404864 - ensure HTMLInputElement.form works per spec in Shadow DOM, r=peterv 2018-05-18 20:02:14 +03:00
Jan de Mooij
e5f8a28c84 Bug 1461292 part 1 - Rename JSAutoCompartment to JSAutoRealm. r=bz,luke 2018-05-16 10:53:16 +02:00
Emilio Cobos Álvarez
d6ad49437b Bug 1468780: Add labels to QuerySelector / QuerySelectorAll. r=mstange
It's very useful to see what the selector is in the profile.

MozReview-Commit-ID: KRp6A91jzP
2018-06-14 10:16:49 -07:00
Emilio Cobos Álvarez
967e0989f6 Bug 1461701: Remove nsUpdateType and UPDATE_CONTENT_MODEL. r=smaug
MozReview-Commit-ID: 33iBMZqnkAc
2018-05-15 18:47:16 +02:00
Adrian Wielgosik
93eb294385 Bug 1460940 - Clean up most remaining C++-side uses of nsIDOMDocument. r=bz
MozReview-Commit-ID: LKRnyDPNlle
2018-05-11 19:46:15 +02:00
Olli Pettay
ad5c986983 bug 1460794, ensure the right document is used for DOMSubtreeModified event, r=hsivonen 2018-05-13 00:46:45 +03:00
Olli Pettay
004d980dae Bug 1001469 - Re-enable cycle collector optimization for nodes in the shadow tree, r=mccr8 2018-05-12 00:28:39 +03:00
Olli Pettay
0700205cf7 Bug 1428393 - Crash near null [@ IsComposedDocParticipant], r=mccr8 2018-04-30 22:21:05 +03:00
Adrian Wielgosik
38f9a663ce Bug 1447389 - Remove nsIDOMNodeList. r=bz
MozReview-Commit-ID: 11szZP6dS6V
2018-04-25 23:01:30 +02:00
Emilio Cobos Álvarez
08bea7e24f Bug 1456471: Remove nsCSSParser.h. r=xidorn
MozReview-Commit-ID: 4qa7llzCXeR
2018-04-25 10:38:37 +02:00
Boris Zbarsky
57e4b18aed Bug 1455052 part 8. Stop using nsIDOMEvent in docshell and dom. r=masayuki
MozReview-Commit-ID: ASkuyN3xSwB
2018-04-20 12:55:30 -04:00
Emilio Cobos Álvarez
343a4f04cd Bug 1454251: Remove nsINode::eATTRIBUTE. r=bz
MozReview-Commit-ID: 7HeUbcG6szy
2018-04-20 09:52:26 +02:00
Emilio Cobos Álvarez
11ab7d65e7 Bug 1454241: Remove nsINode::eDATA_NODE. r=bz
MozReview-Commit-ID: 6HQDAwiGgIo
2018-04-20 03:58:00 +02:00