Closed Bug 1824465 Opened 2 years ago Closed 2 years ago

Require toplevel actors to be refcounted

Categories

(Core :: IPC, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
114 Branch
Tracking Status
firefox114 --- fixed

People

(Reporter: nika, Assigned: nika)

References

(Blocks 1 open bug)

Details

Attachments

(24 files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
No description provided.

This is like AssertIsOnMainThread, except with a release assert.

Without this change, a class with multiple base classes, one of which is
concrete, would not implement the pure virtual refcounting methods from the
other class.

Depends on D173716

This requires all toplevel protocols to not be [ManualDealloc], which
has been implemented in the earlier parts of this bug.

Depends on D173738

Duplicate of this bug: 1632661
Attachment #9325243 - Attachment description: Bug 1824465 - Part 20: Make PSandboxTesting refcounted< r=#ipc-reviewers → Bug 1824465 - Part 20: Make PSandboxTesting refcounted, r=#ipc-reviewers
Attachment #9325247 - Attachment description: Bug 1824465 - Part 24: Hold a strong reference to the toplevel protocol from IProtocol, r=#ipc-reviewers! → Bug 1824465 - Part 24: Require toplevel protocols to be refcounted, r=#ipc-reviewers!
Pushed by nlayzell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/31d6b53fdc6a Part 1: Introduce ReleaseAssertIsOnMainThread, r=xpcom-reviewers,emilio,kmag https://hg.mozilla.org/integration/autoland/rev/a2015d354bb1 Part 2: NS_INLINE_DECL_REFCOUNTING_INHERITED should always override, r=xpcom-reviewers,emilio,kmag https://hg.mozilla.org/integration/autoland/rev/ef28b2777487 Part 3: Make PContent refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/d1bf32c2a6c6 Part 4: Make PProcessHangMonitor refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/563255aaa1e1 Part 5: Make PGMP refcounted, r=media-playback-reviewers,karlt https://hg.mozilla.org/integration/autoland/rev/11ecb78ebc15 Part 6: Make PRDD refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/703599cf6189 Part 7: Make PRemoteDecoderManager refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/a69a851411f0 Part 8: Make PGPU refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/886e76bc80be Part 9: Make PVsyncBridge refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/126773c2427a Part 10: Make PCompositorManager refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/72049d72bcb6 Part 11: Make PImageBridge refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/de51ed5389d9 Part 12: Make PUICompositorController refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/445c5d5d9661 Part 13: Make PVideoBridge refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/92e4c6e4d73c Part 14: Make PVR Refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/8f900395c72c Part 15: Make PVRGPU refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/40c2467d3162 Part 16: Make PVRManager refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/3a88e4cfbe45 Part 17: Make ProxyAutoConfigChild refcounted, r=necko-reviewers,kershaw https://hg.mozilla.org/integration/autoland/rev/a4238fd6b86f Part 18: Make PSocketProcess refcounted, r=necko-reviewers,kershaw https://hg.mozilla.org/integration/autoland/rev/7ef94bfa90b3 Part 19: Make PSocketProcessBridge refcounted, r=necko-reviewers,kershaw https://hg.mozilla.org/integration/autoland/rev/aaa7a2c8aa3b Part 20: Make PSandboxTesting refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/fb115ebb7fe0 Part 21: Make PRemoteSandboxBroker refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/0e6768a6419c Part 22: Make PStreamFilter refcounted, r=extension-reviewers,kmag https://hg.mozilla.org/integration/autoland/rev/b551b655ac72 Part 23: Make PProfiler refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/a5c8f22b7170 Part 24: Require toplevel protocols to be refcounted, r=ipc-reviewers,mccr8
Pushed by nlayzell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/85d7e6c5e56b Part 1: Introduce ReleaseAssertIsOnMainThread, r=xpcom-reviewers,emilio,kmag https://hg.mozilla.org/integration/autoland/rev/b27d58d74cfd Part 2: NS_INLINE_DECL_REFCOUNTING_INHERITED should always override, r=xpcom-reviewers,emilio,kmag https://hg.mozilla.org/integration/autoland/rev/b643186fa325 Part 3: Make PContent refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/e4ee7bcf8600 Part 4: Make PProcessHangMonitor refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/301f18962c4b Part 5: Make PGMP refcounted, r=media-playback-reviewers,karlt https://hg.mozilla.org/integration/autoland/rev/e25b1eee01d1 Part 6: Make PRDD refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/fc8844ea55de Part 7: Make PRemoteDecoderManager refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/38675392b26c Part 8: Make PGPU refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/59b46a00fe22 Part 9: Make PVsyncBridge refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/d9c47bc7669a Part 10: Make PCompositorManager refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/77467f706d40 Part 11: Make PImageBridge refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/d7eb9e7a3be7 Part 12: Make PUICompositorController refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/c7e08600e019 Part 13: Make PVideoBridge refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/c0991f0f3242 Part 14: Make PVR Refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/63b3cc2ab213 Part 15: Make PVRGPU refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/1bdc4e0bede3 Part 16: Make PVRManager refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/e68330b08e0c Part 17: Make ProxyAutoConfigChild refcounted, r=necko-reviewers,kershaw https://hg.mozilla.org/integration/autoland/rev/4ff19f0bf0f4 Part 18: Make PSocketProcess refcounted, r=necko-reviewers,kershaw https://hg.mozilla.org/integration/autoland/rev/59e23a052737 Part 19: Make PSocketProcessBridge refcounted, r=necko-reviewers,kershaw https://hg.mozilla.org/integration/autoland/rev/2bb63c7bcabd Part 20: Make PSandboxTesting refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/95252be7d1c4 Part 21: Make PRemoteSandboxBroker refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/c44c6d52092e Part 22: Make PStreamFilter refcounted, r=extension-reviewers,kmag https://hg.mozilla.org/integration/autoland/rev/55bc5fc09546 Part 23: Make PProfiler refcounted, r=ipc-reviewers,mccr8 https://hg.mozilla.org/integration/autoland/rev/e32ac9fc4d83 Part 24: Require toplevel protocols to be refcounted, r=ipc-reviewers,mccr8
Flags: needinfo?(nika)
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 114 Branch
Regressions: 1830102
Regressions: 1838584
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: