playwright/src/trace
Dmitry Gozman a9de3d8fd2
feat(snapshots): switch MutationObserver to only observer attributes (#5220)
Everything but attributes in the light dom is manually compared during
DOM traversal, for example child nodes or scroll offset.

This way we get a bullet-proof solution that works with input values,
scroll offsets, shadow dom and anything else web comes up with.

We also restore scroll only on the document scrolling element, for
performance reasons. We should figure out the story around scrolling.

Changes stationary snapshots from ~0.5ms to ~2.5ms due to DOM traversal.
2021-01-31 19:20:20 -08:00
..
snapshotter.ts feat(snapshots): switch MutationObserver to only observer attributes (#5220) 2021-01-31 19:20:20 -08:00
snapshotterInjected.ts feat(snapshots): switch MutationObserver to only observer attributes (#5220) 2021-01-31 19:20:20 -08:00
tracer.ts chore: centralize playwright creation, bind context listeners to instance (#5217) 2021-01-29 16:00:56 -08:00
traceTypes.ts feat(snapshots): make cssom overrides efficient (#5218) 2021-01-29 15:24:38 -08:00