gecko/dom
Brian Birtles 4b55f7e56f Bug 1225699 part 6 - Use strong refs to store effects on their target elements; r=smaug
This is so that when we have code like:

  elem.animate({ opacity: 0 }, 1000)

the resulting Animation object is kept alive by |elem| based on the following
ownership chain:

  elem --(strong)--> KeyframeEffectReadOnly --(strong)--> Animation

Now, there is an ownership cycle introduced here because KeyframeEffectReadOnly
objects also store owning references to their target elements. This is broken
when the Animation finishes (if it does not fill forwards) or is cancelled
since either event will trigger a call to
KeyframeEffectReadOnly::UpdateTargetRegistration.

If the Animation fills forwards, the resource will not be released until
it is cancelled. For Animations corresponding to CSS Animations / CSS
Transitions this happens when the Element is unbound or when the corresponding
style property is updated causing the animation to be replaced or removed.

For the general case of script-generated animations, however, this cycle won't
be broken until the Element is unbound and all external references to the
Animation or KeyframeEffectReadOnly are dropped.

It's unfortunate that we can't more aggressively prune these objects but it's
what the spec currently says. I've posted to the mailing list[1] about this but
have yet to find a good solution.

[1] https://lists.w3.org/Archives/Public/public-fx/2015OctDec/0029.html
2015-11-26 16:53:54 +09:00
..
activities
alarm
animation Bug 1225699 part 6 - Use strong refs to store effects on their target elements; r=smaug 2015-11-26 16:53:54 +09:00
apps Backed out changeset 50441cd0d6a1 (bug 1212321) for causing regressions 2015-11-25 12:37:24 +01:00
archivereader Bug 1226479. Change ErrorResult::ThrowTypeError/ThrowRangeError to take string references, not pointers. r=mccr8 2015-11-20 13:36:46 -05:00
asmjscache Bug 961049 - Part 5: QuotaManager on PBackground asmjscache changes; r=luke 2015-11-22 10:44:06 +01:00
audiochannel Merge inbound to m-c a=merge 2015-11-16 17:20:42 -08:00
base Bug 1225699 part 6 - Use strong refs to store effects on their target elements; r=smaug 2015-11-26 16:53:54 +09:00
battery
bindings Back out 13 changesets (bug 1170760) for Gu bustage in homescreen/test/unit/apps_test.js 2015-11-25 21:02:55 -08:00
bluetooth Merge mozilla-central to b2g-inbound 2015-11-23 14:53:00 +01:00
broadcastchannel
browser-element Backed out changeset 50441cd0d6a1 (bug 1212321) for causing regressions 2015-11-25 12:37:24 +01:00
cache Bug 961049 - Part 6: Quota Manager on PBackground cache changes; r=bkelly 2015-11-22 10:44:16 +01:00
camera Bug 1224007 part 4. Fix some cases in which ErrorResult instances are destroyed without doing anything useful with exceptions on them. r=peterv 2015-11-20 16:29:41 -05:00
canvas Bug 1203135 - Terminate linking if maximum vertex attribute count is exceeded on Mesa. r=jgilbert 2015-11-24 21:27:29 -08:00
cellbroadcast
contacts Bug 1226291 - Add SpecialPowers API for importing a jsm into the main process. r=jmaher 2015-11-25 12:34:08 -08:00
crypto
datastore
devicestorage Bug 1186750 part 4 - Clear runnable list in DeviceStorageRequestParent when being destroyed. r=dhylands 2015-11-19 16:10:42 +11:00
downloads
encoding Bug 1226479. Change ErrorResult::ThrowTypeError/ThrowRangeError to take string references, not pointers. r=mccr8 2015-11-20 13:36:46 -05:00
engineeringmode
events Backed out changeset ebb6fb453cca (bug 1214170) for build bustage on a CLOSED TREE 2015-11-25 16:22:16 +05:30
fetch Bug 1224007 part 5. Get rid of ErrorResult::StealJSException. r=peterv 2015-11-20 16:29:41 -05:00
filehandle
filesystem
fmradio
gamepad
geolocation Bug 1228009. Geolocation code needs to handle failures on its ErrorResults. r=smaug 2015-11-25 15:48:04 -05:00
html Backed out changeset 162ded2e49c8 (bug 1223696) for failing on own test on a CLOSED TREE 2015-11-23 09:48:56 +01:00
icc
identity
imptests Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-24 20:15:29 -08:00
indexedDB Bug 1226311, part 2 - Remove SpecialPowers.isMainProcess usage from various IndexedDB tests. r=janv 2015-11-25 08:09:32 -08:00
inputmethod
inputport
interfaces Bug 1210211 - Part 2: Notify Push service of visible notifications. r=baku 2015-11-16 21:33:17 -08:00
ipc Backed out changeset 8405467ea7ad (bug 1211266) for static analysis bustage. r=backout on a CLOSED TREE 2015-11-25 21:17:02 +01:00
json Bug 1217307 - Remove some unnecessary null checks in rest of dom/. r=njn 2015-11-19 09:13:49 +02:00
jsurl Bug 1217307 - Remove some unnecessary null checks in rest of dom/. r=njn 2015-11-19 09:13:49 +02:00
locales Bug 1216723 - Add a new -forbid- Safe Browsing list type. r=gcp,r=smaug 2015-11-20 20:24:50 -08:00
manifest Bug 1210302 - Part 4: Add automated tests; r=sicking 2015-11-20 16:32:53 -05:00
mathml
media Bug 1227790 - Update GMP API to include new MediaKeyStatus types. r=jwwang 2015-11-26 13:51:05 +13:00
messagechannel Back out 2 changesets (bug 1221852, bug 1224825) for Android hangs and desktop RunWatchdog crashes in test_upgrade_insecure_reporting.html 2015-11-15 09:56:06 -08:00
messages
mobileconnection Bug 1110619 - Part 2: Implementation Changes. r=echen 2015-11-10 15:30:48 +08:00
mobileid
mobilemessage Bug 961049 - Part 3: Move PersistenceType serializer from indexedDB to quota module; r=baku 2015-11-22 10:43:34 +01:00
network Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
newapps
nfc Bug 1055959 - [NFC] testNfcBadSessionIdError testcase fail. r=yoshi 2015-11-15 19:13:00 +01:00
notification Bug 1226479. Change ErrorResult::ThrowTypeError/ThrowRangeError to take string references, not pointers. r=mccr8 2015-11-20 13:36:46 -05:00
offline
payment
permission
phonenumberutils
plugins Bug 1224452 - Straighten up a couple things in some moz.builds. r=gps 2015-11-26 08:50:52 +09:00
power
presentation Bug 1217307 - Remove some unnecessary null checks in rest of dom/. r=njn 2015-11-19 09:13:49 +02:00
promise Back out 13 changesets (bug 1170760) for Gu bustage in homescreen/test/unit/apps_test.js 2015-11-25 21:02:55 -08:00
push Bug 1225603. Codegen ToJSValue overloads for Web IDL enums. r=smaug,jib 2015-11-21 12:15:11 -05:00
quota Bug 961049 - Part 4: QuotaManager on PBackground core changes; r=baku 2015-11-22 10:43:55 +01:00
requestsync
res
resourcestats
secureelement
security Backed out changeset 95069f2ce648 (bug 1182546) for Android M(c) bustage ON A CLOSED TREE 2015-11-19 14:26:33 +05:30
settings
simplepush
smil Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
speakermanager Bug 1223734 - AudioChannelService should not be re-initialized after the XPCOM shutdown, r=smaug 2015-11-16 17:34:52 +00:00
storage
svg Bug 676001 - Fix for stroke hit testing on cairo. r=jrmuizel 2015-11-18 11:20:02 -06:00
system Merge b2ginbound to central, a=merge 2015-11-24 16:52:38 -08:00
telephony Bug 1223662 - Improve Test Coverage. r=echen 2015-11-11 13:24:51 +08:00
tests Bug 1224790 - Use SetFakeModal instead of SetModal for non-modal window opened by modal window. r=smaug, mstange 2015-11-18 20:12:26 +09:00
tethering
time
tv Backed out changeset c9cfbe159b26 (bug 1200133) for failing it's own tests 2015-11-24 17:23:47 +05:30
voicemail
vr
wappush
webidl Back out 13 changesets (bug 1170760) for Gu bustage in homescreen/test/unit/apps_test.js 2015-11-25 21:02:55 -08:00
wifi Bug 1223702 - Fix some errors about wifi direct. r=hchang 2015-11-11 01:28:00 +01:00
workers Bug 1227932 - Fix Service Workers SoftUpdate and registration.update code paths. r=ehsan 2015-11-26 01:09:39 +02:00
xbl Bug 1217307 - Remove some unnecessary null checks in rest of dom/. r=njn 2015-11-19 09:13:49 +02:00
xml
xslt Bug 1217307 - Remove some unnecessary null checks in dom/xslt/. r=njn 2015-11-19 09:13:49 +02:00
xul Bug 1217307 - Remove some unnecessary null checks in rest of dom/xul/. r=njn 2015-11-19 09:13:49 +02:00
jar.mn
moz.build