From 9b7f8d6027df6690596cb52ae23d93a8d480215c Mon Sep 17 00:00:00 2001 From: David Cramer Date: Tue, 25 Feb 2020 05:07:17 -0800 Subject: [PATCH] Add support for replaying StyleSheetRule events (#178) --- src/replay/index.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/replay/index.ts b/src/replay/index.ts index adb91333..bb816f2f 100644 --- a/src/replay/index.ts +++ b/src/replay/index.ts @@ -608,6 +608,28 @@ export class Replayer { } break; } + case IncrementalSource.StyleSheetRule: { + const target = mirror.getNode(d.id); + if (!target) { + return this.debugNodeNotFound(d, d.id); + } + + const styleEl = (target as Node) as HTMLStyleElement; + const styleSheet = styleEl.sheet; + + if (d.adds) { + d.adds.forEach(({ rule, index }) => { + styleSheet.insertRule(rule, index); + }); + } + + if (d.removes) { + d.removes.forEach(({ index }) => { + styleSheet.deleteRule(index); + }); + } + break; + } default: } }