Closed Bug 1542659 Opened 6 months ago Closed 6 months ago

Clean up inspector support

Categories

(Core :: Web Replay, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: bhackett, Assigned: bhackett)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

The tests added for the inspector pass, but they also have some assertion failures that are ugly to see in the logs. These show up frequently when using the inspector because it can reuse old objects. While these sites could be modified to avoid doing so, it would be better if things worked more smoothly without having to modify the inspector.

All these sites check Cu.isDeadWrapper on a node before accessing them (if they didn't, they would throw while using the inspector on a normal page). It would be nice to be able to replace Cu.isDeadWrapper with a separate implementation that was aware of the ReplayInspector proxies, and report any proxies associated with an old pause as dead and unusable.

The associated patches are able to do this by modifying a hook used when loading modules with require() to go through ReplayInspector when replaying. ReplayInspector can then supply a Cu with a modified isDeadWrapper. This hook is also used to remove replay instrumentation around other chrome APIs, and will be nice to have going forward for dealing with similar cases.

Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/958d2c256b5c
Part 1 - Hook require() when replaying, r=loganfsmyth.
https://hg.mozilla.org/integration/mozilla-inbound/rev/db8e59458b4a
Part 2 - Remove unnecessary ReplayInspector instrumentation, r=pbro.
https://hg.mozilla.org/integration/mozilla-inbound/rev/6e0ac51de4d2
Part 3 - Avoid throwing when enumerating proxy properties, r=loganfsmyth.
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
You need to log in before you can comment on or make changes to this bug.