Commit Graph

110 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
c7b7699387 merge mozilla-inbound to mozilla-central a=merge 2017-06-23 11:28:19 +02:00
Olli Pettay
b52ee413c5 Bug 1374416 - don't dispatch the selectionchange event for pages that don't have such a listener registered, r=mystor 2017-06-22 21:01:27 +03:00
Kirk Steuber
38e0db0da1 Bug 1375189 - Don't use aNodesWithProperties in nsNodeUtils::CloneAndAdopt if it is not needed r=bz
MozReview-Commit-ID: 9vu3HCQkDKf
2017-06-21 11:55:04 -07:00
Ryan Hunt
8647454930 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
2017-06-15 13:55:26 -05:00
Jessica Jong
0a69701a7e 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
2017-05-01 23:10:00 +02:00
Ryan Hunt
760eb21393 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
2017-04-26 18:56:51 -04:00
Kirk Steuber
9386a2f3e1 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
2017-04-20 12:57:48 -07:00
Manish Goregaokar
be24bd2d60 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
ed51bea373 Bug 1326194 - Properly unlink observed targets. m=mrbkap r=mrbkap
MozReview-Commit-ID: EWk3kcoIteE
2017-01-19 14:51:09 -08:00
Tobias Schneider
ccfb6d3e98 Bug 1326194 - Unlink observed targets as soon as DOMSlots gets unlinked. r=mrbkap
MozReview-Commit-ID: 4OnDvyc98S8
2017-01-06 13:47:06 -08:00
Tobias Schneider
39e291c2b7 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
7fe9ffde53 Bug 1317409, handle failing node adoption properly, r=peterv 2016-11-17 15:54:12 +02:00
Tobias Schneider
28ff83be24 Bug 1315837 - Crash in mozilla::dom::Element::UpdateIntersectionObservation. r=mrbkap 2016-11-15 15:49:00 +01:00
Andrew McCreight
ec2ef51c68 Backed out changeset 63cafb0c2f0f (bug 1315837) for causing bug 1317415. 2016-11-15 07:59:24 -08:00
Tobias Schneider
d5718fccc9 Bug 1315837 - Fix crash in mozilla::dom::Element::UpdateIntersectionObservation. r=mrbkap 2016-11-09 09:10:00 -05:00
Brian Birtles
cf51ad1c35 Bug 1300045 part 2 - Split KeyframeEffect.cpp into KeyframeEffect{ReadOnly}.cpp r=hiro,smaug
MozReview-Commit-ID: DdBEicunApv
2016-09-04 16:34:21 +09:00
Edgar Chen
f37acbbb74 Bug 1275835 - Part 1: Move custom element codes from nsDocument to CustomElementsRegistry; r=wchen
MozReview-Commit-ID: 9gTSFrYW7o3
2016-08-30 11:48:53 +08:00
Boris Chiou
1ef0babead 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
2016-07-25 16:56:34 +08:00
Andrew McCreight
becdb2a86c Bug 1287204 - Fix typo in nsNodeUtils::CloneAndAdopt(). r=bz 2016-08-04 16:28:15 +02:00
Andrew McCreight
b3ff56305f 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
3d743b65d0 Bug 1287146 - Remove unused argument from NodeInfoChanged(). r=bkelly 2016-07-20 15:18:59 -07:00
Boris Zbarsky
1133d345ed 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
4ada7b9d4f Bug 1067769 - Part 6: Rename NonOwningAnimationTarget.h to AnimationTarget.h. r=birtles
MozReview-Commit-ID: ErAaPe6ttjc
2016-04-28 23:22:43 +08:00
Boris Chiou
69b3d12e3c Bug 1249219 - Part 6: Support pseudo elements in Animation Mutation Observer. r=heycam
We use the parent element of a pseudo element as the subject to be notified.

Usage:
We record animations targeting to pseudo elements by setting subtree attribute
to true.

MutationObserver(Node, { subtree: ture });

So all the animations targeting to the pseudo elements whose parentElement is
the first argument will be recorded.
2016-03-21 16:49:50 +08:00
Boris Chiou
0dbe14ef77 Bug 1249219 - Part 5: Add a wrapper of AnimationAdded/Changed/Removed. r=birtles
Remove the duplicated code in nsNodeUtils.
2016-03-21 16:49:50 +08:00
Boris Chiou
1413622bf7 Bug 1249219 - Part 4: Use NonOwningAnimationTarget as the returned value of some animation target getters. r=birtles
Use NonOwningAnimationTarget as the returned type of
1. KeyframeEffectReadOnly::GetTarget()
2. nsNodeUtils::GetTargetForAnimation(...)
2016-03-21 16:49:50 +08:00
Olli Pettay
67cd497853 Bug 1249428 - Unlink binding properly from element , r=mccr8 2016-02-19 21:13:42 +02:00
Boris Chiou
32cdf253b7 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;
2016-02-17 21:37:00 +01:00
Boris Chiou
16edfa82cd Bug 1244049 - Part 1: Define scoped enum for CSSPseudoElement type. r=dbaron 2016-02-16 23:07:00 +01:00
Boris Chiou
e65af0f582 Bug 1174575 - Part 2: Replace Element in KeyframeEffectReadOnly WebIDL. r=birtles, r=smaug
Use (Element or CSSPseudoElement)? as the first arguement of constructor and
the type of target.
2016-02-05 19:01:00 +01:00
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Brian Birtles
a0a3958a05 Bug 1194639 part 1 - Add AutoMutationBatchForAnimation; r=heycam 2015-10-22 15:16:18 +09:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Brian Grinstead
7c5f758db3 Bug 1034110 - Provide a way to observe mutations for ::before/::after pseudo elements;r=smaug
Adds a new chrome-only MutationObserverInit option called nativeAnonymousChildList
that will cause a mutation to fire when a native anonymous root is bound or unbound
2015-09-24 08:23:32 -07:00
Nicholas Nethercote
2087a666fc Bug 1201135 - Rename pldhash.{h,cpp} to PLDHashTable.{h,cpp}. r=mccr8. 2015-09-15 20:49:53 -07:00
Robert O'Callahan
7d17ed419a Bug 1184842. Add aNewValue to nsIMutationObserver::AttributeWillChange. r=peterv 2015-07-25 18:05:19 +12:00
Robert O'Callahan
57c1a6bb8b Bug 1184842. Pass preparsed attribute values to nsNodeUtils::AttributeWillChange. r=peterv 2015-07-22 15:53:35 +12:00
Robert O'Callahan
5bde6d4aaa Bug 1184842. Pass aOldValue to all mutation observers. r=peterv 2015-07-25 18:01:19 +12:00
Robert O'Callahan
96a13d9b54 Bug 1184842. Add aOldValue parameter to nsNodeUtils::AttributeChanged. r=peterv 2015-07-21 16:13:53 +12:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Brian Birtles
67c6bec9aa Bug 1159082 - Rename *Readonly animation interfaces to *ReadOnly. r=smaug 2015-04-30 09:06:43 -04:00
Carsten "Tomcat" Book
49dcd0d63c Backed out changeset 1b5fc672f0d4 (bug 1159082) for B2G ICS Emulator opt R6 test failures on a CLOSED TREE 2015-04-30 13:15:04 +02:00
Brian Birtles
e3179b0530 Bug 1159082 - Rename *Readonly animation interfaces to *ReadOnly; r=smaug 2015-04-28 10:16:45 +09:00
Brian Birtles
32494c6a39 Bug 1154615 part 8 - Rename references to players in animation observers; r=jwatt 2015-04-21 10:22:10 +09:00
Brian Birtles
245d56b34b Bug 1154615 part 1 - Rename AnimationPlayer to Animation in WebIDL; r=smaug
This patch is a fairly minimal rename of the AnimationPlayer interface. It
leaves a bunch of local variables and helper classes still using the word
"player". These will be addressed in subsequent patches that don't require DOM
peer review.
2015-04-21 10:22:09 +09:00
Brian Birtles
a474c0c6c3 Bug 1153734 part 3 - Rename AnimationPlayer.source to AnimationPlayer.effect; r=smaug
There are still some other references to "source" in AnimationPlayer such as
HasInPlayerSource and UpdateSourceContent. These are renamed in a subsequent
patch (that doesn't require DOM peer review).
2015-04-15 08:48:21 +09:00
Brian Birtles
b23bc79d92 Bug 1153734 part 2 - Rename Animation to KeyframeEffectReadonly; r=smaug
We define KeyframeEffectReadonly in KeyframeEffect.cpp since Web Animations also
defines KeyframeEffect and when we come to implement that I expect we'll define
it in the same class, maybe even using the same object.

This patch also adds a few missing includes in places where
KeyframeEffectReadonly is used so that we're not just cargo-culting it in.
2015-04-15 08:48:21 +09:00
Kartikaya Gupta
3fb084fb78 Bug 1146843 - Revert part of cset 33c30e283fa8 because the code is used in Fennec. r=snorp 2015-04-02 20:45:50 -04:00
Kartikaya Gupta
43eb6f1601 Bug 1144324 - Remove the codepaths that conditionally enable touch events based on touch the presence of touch listeners. r=smaug,jimm 2015-03-19 06:37:39 -04:00
Cameron McCormack
524762a563 Bug 1123523 - Part 7: Add utility functions to notify registered nsIAnimationObservers. r=smaug 2015-03-14 16:34:40 +11:00