Граф коммитов

87 Коммитов

Автор SHA1 Сообщение Дата
John Dai d480d5e221 Bug 1419662 - Fix incorrect custom element type in CustomElementData. f=echen, r=smaug 2018-01-07 18:45:00 +02:00
Emilio Cobos Álvarez 1cda1ad876 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 7e9531ab01 Bug 1420547: Add assertions for the assumptions we're making. r=bz
MozReview-Commit-ID: 8CVtclXLgzH

--HG--
extra : rebase_source : 0fb5ec6e27e28d4f325f03405d886547114b312d
2017-12-11 10:14:36 +01:00
Emilio Cobos Álvarez 2280023199 Bug 1420547: Notify the pres shell before everything else on removals. r=bz
This allows the flattened tree to have a reasonable state before content
removals, allowing us to fix bugs like bug 1420533.

This used to be also the old setup, but was changed in bug 382376, since the
frame constructor used to reconstruct stuff synchronously. This used to break
all sorts of stylo invariants, and I fixed this in bug 1389743, so now the order
can be sane again.

MozReview-Commit-ID: K2pTweGKSq0

--HG--
extra : rebase_source : e53b7314f39f9c1c2e87fbe202f64b06e4c64c57
2017-12-11 06:42:38 +01:00
Emilio Cobos Álvarez 6abaf32af5 Bug 1420547: Notify the pres shell specially, instead of via mutation observers. r=bz
This makes the pres shell be notified as the last observer unconditionally.

In practice this doesn't matter, and it may already be the case if an iframe
goes display: none and back. In practice, the only dependency that requires this
order is that the pres shell needs to be notified _after_ the content sink, so
we don't try to enter frame construction before beginning the shell update.

That may be worth looking into, but definitely not in the scope of this bug... :)

MozReview-Commit-ID: 9WeJ5kaUtBq

--HG--
extra : rebase_source : 6589df0aa8a875dc270894fabb6b4bc170d6b6fe
2017-12-06 05:26:32 +01:00
Emilio Cobos Álvarez 06bb4ec058 Bug 1424104: Remove some confusing comments and useless null-check. r=smaug
The comments made sense on the patch from bug 342062, but not anymore.

OwnerDoc() never returns null, and if that assertion fails we have more
important stuff to fix.

MozReview-Commit-ID: LF1sblZoBJN

--HG--
extra : rebase_source : 4fad709293b2849bf5de6487dc36dbfd014d8526
2017-12-06 04:42:34 +01:00
Dave Townsend 27380b996e Bug 1404420: Add custom element support to XUL. r=edgar, r=smaug
MozReview-Commit-ID: BietEX2gOoG

--HG--
extra : rebase_source : 6fd9a732a21f2c048d37c3f7139cd18503148767
2017-10-10 15:25:10 -07:00
Olli Pettay cc862266e9 Bug 1416450, ensure IntersectionObservers are deleted when adopting elements, r=mrbkap
--HG--
extra : rebase_source : c8c1300c4d1333c3b37725e1d8b31464cd3b30a7
2017-11-19 16:22:54 +02:00
John Dai d1400ac8b1 Bug 1406325 - Part 4: Use mType for LookupCustomElementDefinition and also removing parts of v0. f=echen, r=smaug 2017-11-14 19:23:00 +08:00
John Dai 2319f825df Bug 1406325 - Part 3: Refactor custom elements clone a node. f=echen, r=smaug 2017-11-14 20:01:00 +08:00
John Dai cf62df4869 Bug 1406325 - Part 2: Set CustomElementData when cloning a node. f=echen, r=smaug 2017-11-03 02:52:00 +08:00
Emilio Cobos Álvarez 87681dd3fa Bug 1414692: Adopt shadow roots when adopting a shadow host across documents. r=smaug
MozReview-Commit-ID: 8K0axIc86iY
2017-11-07 09:59:46 +01:00
Emilio Cobos Álvarez dd634e3981 Bug 1411612: Kill nsINode::eCONTENT. r=bz
MozReview-Commit-ID: ESlOqlwhcHI

--HG--
extra : rebase_source : fe6a02469dca1e50c24ba166e15e39160ab4551b
2017-10-25 17:19:11 +02:00
Olli Pettay 68408cdca0 Bug 1397811, in order to not leak properties, ensure all the properties of adopted nodes are removed in case the adopt call fails, r=bz 2017-10-20 11:02:29 +01:00
Boris Zbarsky 1475bf4ce5 Bug 1407375. Make sure to call NodeInfoChanged whenever we change the nodeinfo on a node. r=peterv
MozReview-Commit-ID: 71k1jv8thFA
2017-10-11 22:19:06 -04:00
Nicholas Nethercote d225f7151b 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

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Tobias Schneider 7c9837e0e8 Bug 1316277 - Move intersection observer list from DOMSlots to a property. r=mrbkap
--HG--
extra : rebase_source : fcaa7d31e0a99ad666e0091c56cd9858e3afcc4b
2017-10-05 20:42:55 -07:00
John Dai e0d9953f52 Bug 1319342 - Clone a node should enqueue an upgrade reaction. r=smaug 2017-10-03 01:34:00 -04:00
Catalin Badea f8162c4bfd Bug 651120 - Remove index argument from content removed/appended/inserted notifications. r=peterv 2017-10-03 11:09:08 +01:00
Wes Kocher fee639d976 Backed out changeset 29a6664e8f73 (bug 1319342) for wpt failures in Node-cloneNode.html a=backout
MozReview-Commit-ID: 2FoC3zDqXO2
2017-10-02 14:27:09 -07:00
John Dai c76b412976 Bug 1319342 - Clone a node should enqueue an upgrade reaction. r=smaug 2017-10-01 23:12:00 -04:00
John Dai 25f8ec6929 Bug 1121994 - Implement adopted callback for custom elements. r=smaug 2017-10-02 00:42:00 -04:00
Olli Pettay c80e124562 Bug 1396584 - Remove support for multiple ShadowRoots, r=mrbkap
--HG--
extra : rebase_source : 2bb600ed1ffd35c195617a7eb70d0ba847a46898
2017-09-25 18:09:26 +03:00
Boris Zbarsky 4d16655b25 Bug 1393806 part 3. Change dom::ReparentWrapper to take an ErrorResult. r=peterv
This makes it easier for its consumers to avoid leaving a dangling exception on
the JSContext.

MozReview-Commit-ID: Xep7IkYxSx
2017-09-13 13:34:55 -04:00
Boris Zbarsky f23f66c56c Bug 1393806 part 1. Change nsNodeUtils cloning/adopting stuff to use an ErrorResult for errors. r=peterv
This will allow us to propagate out more informative errors in some cases.

MozReview-Commit-ID: 9FbzV5VRMqN
2017-09-13 13:34:55 -04:00
Ehsan Akhgari 50fd0b7a62 Bug 1385533 - Reserve space for one pointer in the mMutationObservers array on node slots; r=smaug
This helps avoid allocations for the first mutation observer (for example, Range)
created by a caller.
2017-07-31 17:12:38 -04:00
Olli Pettay 0738714332 Bug 1377993 - Make node slots less memory hungry in common cases. r=peterv
MozReview-Commit-ID: Lhr1UsCrRTs
2017-07-18 00:25:49 +02:00
Carsten "Tomcat" Book 5f51e5596e merge mozilla-inbound to mozilla-central a=merge 2017-06-23 11:28:19 +02:00
Olli Pettay 8d489930b6 Bug 1374416 - don't dispatch the selectionchange event for pages that don't have such a listener registered, r=mystor
--HG--
extra : rebase_source : 7fb95e7f3c766b9de3a00175a0133093e2d194b1
2017-06-22 21:01:27 +03:00
Kirk Steuber e967f9a6c1 Bug 1375189 - Don't use aNodesWithProperties in nsNodeUtils::CloneAndAdopt if it is not needed r=bz
MozReview-Commit-ID: 9vu3HCQkDKf

--HG--
extra : rebase_source : eb6231c88732133ee6d90e621a5833b9be1e81ce
2017-06-21 11:55:04 -07:00
Ryan Hunt fd8c1c280d Bug 1373285 - Remove keyboard apz telemetry probes. r=smaug
These are no longer needed as we have the data we were looking for.

MozReview-Commit-ID: 3WlPng3mAwt

--HG--
extra : rebase_source : 73a390f85f5c0894d53a5e8ee10b19278af58282
extra : amend_source : 6a2b9ff4191715d0ac6e43f92af1e64c59123ac6
2017-06-15 13:55:26 -05:00
Jessica Jong 57c042eeb9 Bug 1358448 - Add radio back to a radio group after moving out of a form. r=smaug
The container of a radio group is the form, if it belongs to a form, or the
document object otherwise.
When moving a radio out of a form, we should add it back to a radio group.
Similary, before moving the radio to a form, we should remove it from the
original radio group.

MozReview-Commit-ID: 22WsEhz2SXH

--HG--
extra : rebase_source : 68dbd50da523b734086d8e5de6e6ae179b0b4af0
2017-05-01 23:10:00 +02:00
Ryan Hunt d5bf64b9d4 Bug 1357880 - Add a telemetry probe for mousemove event listeners r=smaug, data-review=bsmedberg
This commit adds a telemetry probe to determine the percentage of pages
that ever have a 'mousemove' event listener added to the DOM. This is for
determining how often APZ key scrolling could handle interleaved mousemove
events.

A flag is added to nsPIDOMWindow to track whether a qualifying event
listener was ever added to the DOM for this window, and is updated by
EventListenerManager. There are several other similar flags to this.

The probe is reported in nsGlobalWindow::FreeInnerObjects() so that it
can be compared exactly with the non-passive keyboard listener APZ probe.

MozReview-Commit-ID: DqqCfrdRCGp

--HG--
extra : rebase_source : fad8159c28b587572a4191f7cbde1e97e166639c
2017-04-26 18:56:51 -04:00
Kirk Steuber 7fdb378650 Bug 1359556 - Optimize cloneNode by preinitializing attribute and child arrays r=bz
Currently, attribute and child arrays (implemented in dom/base/nsAttrAndChildArray.h) start out empty. When cloning, the array ends up being resized multiple times in order to add the attributes and children that are being cloned from the original node. This would be quicker if the array was initialized to the correct size in the first place so that resizes are not necessary.

However, preallocating space for children is only necessary when performing a deep clone. Therefore, an additional parameter is being added to the Clone, CopyInnerTo, and CloneDocHelper methods to indicate whether preallocation of children should happen. Attributes are copied either way, so that part of the array is preallocated in both cases.

MozReview-Commit-ID: 3iVezeAKXnI

--HG--
extra : rebase_source : 9c3deec6d7aafd6411044d623d4863637b45fd58
2017-04-20 12:57:48 -07:00
Manish Goregaokar 7a6a00898d Bug 1329093 - Part 4: stylo: Delay SVG mapped attr resolution till later; r=bz
MozReview-Commit-ID: 2GvHPg1egjS
2017-03-09 17:46:26 -08:00
Tobias Schneider 6bd84bf9d8 Bug 1326194 - Properly unlink observed targets. m=mrbkap r=mrbkap
MozReview-Commit-ID: EWk3kcoIteE

--HG--
extra : rebase_source : e1b68aaa8278b514c8b008db34a2519076313f7e
2017-01-19 14:51:09 -08:00
Tobias Schneider 7bf1d2ce13 Bug 1326194 - Unlink observed targets as soon as DOMSlots gets unlinked. r=mrbkap
MozReview-Commit-ID: 4OnDvyc98S8

--HG--
extra : rebase_source : ff6336a0af81babf37f5a89a2809a515eb8430cc
2017-01-06 13:47:06 -08:00
Tobias Schneider eef5af1c91 Bug 1322717 - Disconnect/Unlink in the proper order to avoid crashes in mozilla::dom::DOMIntersectionObserver::UnlinkTarget. r=mrbkap 2016-12-08 18:54:07 -08:00
Olli Pettay 0afb59fbfd Bug 1317409, handle failing node adoption properly, r=peterv
--HG--
extra : rebase_source : 3ce4ba7c0406d6f96edd7e4da8687fcc55295980
2016-11-17 15:54:12 +02:00
Tobias Schneider bff9de0c6e Bug 1315837 - Crash in mozilla::dom::Element::UpdateIntersectionObservation. r=mrbkap 2016-11-15 15:49:00 +01:00
Andrew McCreight 12eaf5ca37 Backed out changeset 63cafb0c2f0f (bug 1315837) for causing bug 1317415. 2016-11-15 07:59:24 -08:00
Tobias Schneider 0cb90d5992 Bug 1315837 - Fix crash in mozilla::dom::Element::UpdateIntersectionObservation. r=mrbkap
--HG--
extra : rebase_source : 77edac309414e61dd103bc60668351d6e3548890
2016-11-09 09:10:00 -05:00
Brian Birtles 48f29038db Bug 1300045 part 2 - Split KeyframeEffect.cpp into KeyframeEffect{ReadOnly}.cpp r=hiro,smaug
MozReview-Commit-ID: DdBEicunApv

--HG--
rename : dom/animation/KeyframeEffect.cpp => dom/animation/KeyframeEffectReadOnly.cpp
rename : dom/animation/KeyframeEffect.h => dom/animation/KeyframeEffectReadOnly.h
extra : rebase_source : 70063d8ba09c9c457f22771e9b514ddc9fee1612
2016-09-04 16:34:21 +09:00
Edgar Chen 67946850ab Bug 1275835 - Part 1: Move custom element codes from nsDocument to CustomElementsRegistry; r=wchen
MozReview-Commit-ID: 9gTSFrYW7o3

--HG--
extra : rebase_source : f123f21aadaa18641ddd7fa7fa67eb27a4152f83
2016-08-30 11:48:53 +08:00
Boris Chiou 623caf07af Bug 1049975 - Part 4: Merge two Animation::SetEffect()s. r=birtles
This is a pre-patch for part 5, which is trying to make our code closer to the
spec. Some methods in KeyframeEffectReadOnly belong to AnimationEffectReadOnly,
so first, use AsKeyframeEffect() to access those keyframe-related methods, and
then add virtual methods for timing-related methods to AnimationEffectReadOnly.

MozReview-Commit-ID: 1srA1f8JYeN

--HG--
extra : rebase_source : 99a06e20a63b9c8b179fa8501690abf01271aaf4
2016-07-25 16:56:34 +08:00
Andrew McCreight 0d2ed01bc4 Bug 1287204 - Fix typo in nsNodeUtils::CloneAndAdopt(). r=bz 2016-08-04 16:28:15 +02:00
Andrew McCreight 2c5b2b21f3 Bug 1287624, part 1 - Use RefPtr::forget() instead of ::swap() in dom/. r=froydnj
These uses all null the return value first, so there should be no change in behavior.
2016-07-20 15:19:00 -07:00
Andrew McCreight 2f88762913 Bug 1287146 - Remove unused argument from NodeInfoChanged(). r=bkelly 2016-07-20 15:18:59 -07:00
Boris Zbarsky 9737ec3dbd Bug 1275945. Move the AutoJSContext use in nsNodeUtils::CloneAndAdopt to where it's really needed. r=mrbkap
This prevents us from pushing stuff on the JSContext stack unnecessarily when
we're just cloning, not adopting.  It's OK that we're doing it in a narrow scope
that doesn't include our recursion into children, because in practice when
aReparentScope is non-null we came from nsIDocument::AdoptNode which already
does AutoJSContext.  So we're not going to continuously push/pop the JSContext
stack in that situation, since something already got pushed on it.
2016-05-26 19:43:42 -04:00
Boris Chiou 22e871661b Bug 1067769 - Part 6: Rename NonOwningAnimationTarget.h to AnimationTarget.h. r=birtles
MozReview-Commit-ID: ErAaPe6ttjc

--HG--
rename : dom/animation/NonOwningAnimationTarget.h => dom/animation/AnimationTarget.h
extra : rebase_source : 79b52ece67f16bd32ac8c07d698a9aae076fe5fe
2016-04-28 23:22:43 +08:00