Closed Bug 1189822 Opened 4 years ago Closed 3 years ago
DOMExpando Object and associated machinery
Right now the only way to do the preservation is to create the expando, as far as I can tell.
Summary: Consider having a way to preserve the wrapper for a DOM proxy without forcing creation of an expando object → Remove RegisterDOMExpandoObject and associated machinery
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
This is something that should have happened in bug 1352430 but was missed there.
Attachment #8866139 - Flags: review?(peterv)
All DOMProxyHandler::ClearExternalRefsForWrapperRelease now does is clear a backpointer to the expando, and that's handled during reflector finalization already.
Attachment #8866140 - Flags: review?(peterv)
Attachment #8866136 - Flags: review?(peterv) → review+
Attachment #8866137 - Flags: review?(peterv) → review+
Attachment #8866138 - Flags: review?(peterv) → review+
Attachment #8866139 - Flags: review?(peterv) → review+
Attachment #8866140 - Flags: review?(peterv) → review+
Pushed by email@example.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/810a380512e9 part 1. Switch DOMProxyHandler::EnsureExpandoObject to using normal wrapper preservation instead of RegisterDOMExpandoObject. r=peterv https://hg.mozilla.org/integration/mozilla-inbound/rev/d820067e4d5f part 2. Remove the DOM proxy expando object hashtable in xpconnect. r=peterv https://hg.mozilla.org/integration/mozilla-inbound/rev/5ccd27cf7166 part 3. Stop using EnsureExpandoObject in codegen code when we just want to preserver the wrapper for a DOM proxy. r=peterv https://hg.mozilla.org/integration/mozilla-inbound/rev/793ab87511f5 part 4. Fix finalization for DOM overridebuildins proxies to not clear the expando if it's for a different reflector. r=peterv, sfink https://hg.mozilla.org/integration/mozilla-inbound/rev/30f6ea5ad9e6 part 5. Remove the now-unnecessary DOMProxyHandler::ClearExternalRefsForWrapperRelease function. r=peterv
You need to log in before you can comment on or make changes to this bug.