Closed Bug 1189822 Opened 9 years ago Closed 8 years ago

Remove RegisterDOMExpandoObject and associated machinery

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox42 --- affected
firefox55 --- fixed

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

(Blocks 1 open bug)

Details

Attachments

(5 files)

Right now the only way to do the preservation is to create the expando, as far as I can tell.
Blocks: 1237503
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 bzbarsky@mozilla.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
Depends on: 1365564
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: