Closed Bug 1508099 Opened 2 years ago Closed 2 years ago

Record refcount changes for image decoders and decoding tasks

Categories

(Core Graveyard :: Web Replay, enhancement)

enhancement
Not set
normal

Tracking

(firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Attached patch patchSplinter Review
There have been some mismatches when using Web Replay that seem like they are due to image::Decoders being destroyed on inconsistent threads between recording and replaying.  I'm not sure if this is due to inconsistent releases of the last references on the Decoder itself or the IDecodingTask which references it, so the attached patch ensures that references on each of these classes are recorded and replayed consistently.
Currently, classes which implement their refcounting via the NS_INLINE_DECL_THREADSAFE_REFCOUNTING or NS_INLINE_DECL_THREADSAFE_VIRTUAL_REFCOUNTING macros do not have a way to specify that their refcount changes should be recorded.  This patch adds additional macros to support this.
Attachment #9025910 - Flags: review?(nfroyd)
Record changes to reference counts on Decoder and IDecodingTask.
Attachment #9025911 - Flags: review?(tnikkel)
Attachment #9025911 - Flags: review?(tnikkel) → review+
Attachment #9025910 - Flags: review?(nfroyd) → review+
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/456275c5ddac
Part 1 - Add macros for recording refcounts on non-nsISupports classes, r=froydnj.
https://hg.mozilla.org/integration/mozilla-inbound/rev/98430e6d541b
Part 2 - Record refcount changes for image decoders and decoding tasks, r=tnikkel.
https://hg.mozilla.org/mozilla-central/rev/456275c5ddac
https://hg.mozilla.org/mozilla-central/rev/98430e6d541b
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.