Closed Bug 1189822 Opened 4 years ago Closed 3 years ago

Remove RegisterDOMExpandoObject and associated machinery

Categories

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

defect
Not set

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
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.