Closed Bug 1081985 Opened 6 years ago Closed 6 years ago

Stop Remapping COWed standard prototypes

Categories

(Core :: XPConnect, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: bholley, Assigned: bholley)

References

Details

(Keywords: addon-compat)

Attachments

(2 files)

Way back when we still fancied COWs to be a suitable mechanism for exposing APIs, we thought it would be cute to make .forEach work automatically on COWed arrays without adding it to __exposedProps__. This gave way to the idea of remapping standard prototypes of COWed objects to the corresponding prototype in the content compartment (bug 760109). This made sense at the time, but required a lot of really ugly/scary code that was hard to reason about.

We're getting close to being able to remove this functionality entirely. This would be _awesome_, because it would let us more or less rm ChromeObjectWrapper.cpp. I'll file some dependent bugs.
Depends on: 1081990
Blocks: SH-wrappers
Keywords: addon-compat
Comment on attachment 8507335 [details] [diff] [review]
Part 2 - Remove prototype remapping and make COWs simple. v1

Gabor is on PTO, so I'll give bz the honor of reviewing the final slaughterhouse patches. :-)
Attachment #8507335 - Flags: review?(gkrizsanits) → review?(bzbarsky)
Attachment #8507334 - Flags: review?(gkrizsanits) → review?(bzbarsky)
Attachment #8507334 - Flags: review?(bzbarsky) → review+
Attachment #8507335 - Flags: review?(bzbarsky) → review+
https://hg.mozilla.org/mozilla-central/rev/17c8a8ce0ea8
https://hg.mozilla.org/mozilla-central/rev/7aed94d1f1a6
Assignee: nobody → bobbyholley
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.