Skip to content

Commit 9b7f8d6

Browse files
authored
Add support for replaying StyleSheetRule events (#178)
1 parent 046936b commit 9b7f8d6

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/replay/index.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,28 @@ export class Replayer {
608608
}
609609
break;
610610
}
611+
case IncrementalSource.StyleSheetRule: {
612+
const target = mirror.getNode(d.id);
613+
if (!target) {
614+
return this.debugNodeNotFound(d, d.id);
615+
}
616+
617+
const styleEl = (target as Node) as HTMLStyleElement;
618+
const styleSheet = <CSSStyleSheet>styleEl.sheet;
619+
620+
if (d.adds) {
621+
d.adds.forEach(({ rule, index }) => {
622+
styleSheet.insertRule(rule, index);
623+
});
624+
}
625+
626+
if (d.removes) {
627+
d.removes.forEach(({ index }) => {
628+
styleSheet.deleteRule(index);
629+
});
630+
}
631+
break;
632+
}
611633
default:
612634
}
613635
}

0 commit comments

Comments
 (0)