Closed Bug 1570487 Opened 5 years ago Closed 5 years ago

Nuke Xray waivers for local outer window proxies on navigation

Categories

(Core :: XPConnect, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla76
Fission Milestone Future
Tracking Status
firefox76 --- fixed

People

(Reporter: mccr8, Assigned: mccr8)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

It doesn't really make sense to have Xray waivers for remote window proxies, so in bug 1570484, I'm nuking them when we navigate. However, that means the behavior is inconsistent with regular navigation, where we keep them. We should make them consistent. This might cause issues with addons. We also need to consider what happens when a window with Xray waivers is put into the bfcache, then later we navigate back to it.

Blocks: fission

In bug 1570484, Kris points out that it should be Nightly-only for a few cycles.

At least two tests fail with this:
js/xpconnect/tests/chrome/test_bug773962.xul "Assertion failure: !JS_IsDeadWrapper(origTarget) (We don't want a dead proxy in the wrapper map), at /builds/worker/workspace/build/src/js/src/proxy/CrossCompartmentWrapper.cpp:537"

js/xpconnect/tests/chrome/test_bug1516237.html "Assertion failure: !JS_IsDeadWrapper(js::UncheckedUnwrap(&obj.toObject())), at /builds/worker/workspace/build/src/js/xpconnect/src/XPCComponents.cpp:1910"

I haven't investigated these crashes yet.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=6da6708e64ff092539c1af6877386ee1c6a35efb&selectedJob=259993855

Priority: -- → P3

This bug is not a Fission MVP blocker.

Fission Milestone: --- → Future

Funnily enough, both of the assertions in comment 2 (test_bug773962.xul is now test_bug773962.xhtml) are ones I saw while working on bug 1582568. My patch in there at least makes these tests not assert. test_bug773962.xhtml fails, but the failures are "waivers still work", so presumably it is checking that waivers still work after navigation, which is explicitly what we are breaking here.

Depends on: 1582568

We nuke xray waivers when we navigate outer windows out of process,
because it doesn't make much sense to have a waiver in that case.
This patch makes the behavior for navigating to local outer windows
consistent, by also nuking remote window proxies. Hopefully that
won't break anything.

This is Nightly-only for now, because it might break addons.

Assignee: nobody → continuation
Status: NEW → ASSIGNED
Pushed by amccreight@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/aaabe9ad2ab2 Nuke Xray waivers for local outer window proxies on navigation. r=peterv
Blocks: 1624705
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76
Regressions: 1625031
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: