Closed Bug 1542659 Opened 6 months ago Closed 6 months ago

Clean up inspector support


(Core :: Web Replay, defect)

Not set



Tracking Status
firefox68 --- fixed


(Reporter: bhackett, Assigned: bhackett)


(Blocks 1 open bug)



(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
Part 1 - Hook require() when replaying, r=loganfsmyth.
Part 2 - Remove unnecessary ReplayInspector instrumentation, r=pbro.
Part 3 - Avoid throwing when enumerating proxy properties, r=loganfsmyth.
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.