Nuke Xray waivers for local outer window proxies on navigation
Categories
(Core :: XPConnect, task, P3)
Tracking
()
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.
Assignee | ||
Comment 1•5 years ago
|
||
In bug 1570484, Kris points out that it should be Nightly-only for a few cycles.
Assignee | ||
Comment 2•5 years ago
|
||
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.
Updated•5 years ago
|
Assignee | ||
Comment 4•5 years ago
|
||
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.
Assignee | ||
Comment 5•5 years ago
|
||
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.
Updated•5 years ago
|
Comment 7•5 years ago
|
||
bugherder |
Description
•