Closed Bug 1053271 Opened 10 years ago Closed 6 years ago

Remove XPCWN Xrays

Categories

(Core :: XPConnect, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: bholley, Assigned: peterv)

References

(Depends on 1 open bug)

Details

Attachments

(4 files, 3 obsolete files)

Once nsDOMClassInfo is gone, we should be able to do this, which will significantly simplify the Xray code.
Blocks: 1160757
Depends on: 1207321
No longer depends on: ParisBindings
I tried returning opaque xrays instead of XPCWN x-rays. Seems like most failures are related to SpecialPowers, at least on Linux.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6ccdd181a01a
Attached patch WIP (obsolete) (deleted) — Splinter Review
Yeah, I noticed the same thing. We'll need to figure out a solution for SpecialPowers.C*.
Feel free to unassign if you're no longer working on this.
Assignee: nobody → peterv
Note that this bug can't land until prerequisites land, and those are stalled at the moment...
I rebased the patch and pushed to try: https://treeherder.mozilla.org/#/jobs?repoa=try&revision=73e008eaa4592cfb49c4110bae15a1dfeef875e7&selectedJob=171205078. Looks pretty good, no more SpecialPowers failure.
Peter, I think this should be able to land now...
Flags: needinfo?(peterv)
There's also a ton of simplification and improvement that can happen once this goes (removing resolveNativeProperty, for one). I guess bug 1160757 tracks part of this, but we should make sure to sit down and go through the code to clean it up.
Blocks: 1451017
Ok, I'll get review and land this.
Flags: needinfo?(peterv)
Peter, is there anyhing that needs to be changed in the patch or should I just upload the rebased version? I kind of want to get to some of the follow up work now.
Attached patch WIP v2 (obsolete) (deleted) — Splinter Review
Attachment #8974141 - Attachment is obsolete: true
Attached patch WIP rebased (obsolete) (deleted) — Splinter Review
Attached patch Remove XPCWN Xrays (deleted) — Splinter Review
Attachment #8721950 - Attachment is obsolete: true
Attachment #8974142 - Attachment is obsolete: true
Attachment #8983813 - Flags: review?(bzbarsky)
Attached patch Remove XrayTraits' HasPrototype (deleted) — Splinter Review
I think we could technically remove XrayWrapper<Base, Traits>::set/enumerate, but the same could be said about has/get and those are more complicated. So I'll file a separate bug about that.
Attachment #8983835 - Flags: review?(bzbarsky)
This is just moving some code around (now that XrayWrapper doesn't use SandboxCallableProxyHandler anymore).
Attachment #8983836 - Flags: review?(bzbarsky)
Just some stuff I stumbled upon while working on this.
Attachment #8983837 - Flags: review?(bzbarsky)
Comment on attachment 8983813 [details] [diff] [review]
Remove XPCWN Xrays

r=me
Attachment #8983813 - Flags: review?(bzbarsky) → review+
Comment on attachment 8983835 [details] [diff] [review]
Remove XrayTraits' HasPrototype

>+      : Base(flags | WrapperFactory::IS_XRAY_WRAPPER_FLAG, true)

Maybe:

  /* aHasPrototype = */ true

?  

r=me
Attachment #8983835 - Flags: review?(bzbarsky) → review+
Comment on attachment 8983836 [details] [diff] [review]
Move Sandbox proxy handlers out of XrayWrapper.h

r=me
Attachment #8983836 - Flags: review?(bzbarsky) → review+
Comment on attachment 8983837 [details] [diff] [review]
Remove some unused XRayWrapper code

Nice catch.  Looks like I forgot to remove this in bug 1436276...
Attachment #8983837 - Flags: review?(bzbarsky) → review+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: