fix: safari pseudo element content parsing (#2018)

* fix: await for fonts to be ready in document clone

* fix: safari pseudo element content parsing

* fix: safari counter-increment / counter-reset
This commit is contained in:
Niklas von Hertzen
2019-09-27 06:42:13 -07:00
committed by GitHub
parent 076492042a
commit 3f599103fb
3 changed files with 24 additions and 11 deletions

View File

@ -30,25 +30,29 @@ export class CounterState {
parse(style: CSSParsedCounterDeclaration): string[] {
const counterIncrement = style.counterIncrement;
const counterReset = style.counterReset;
let canReset = true;
if (counterIncrement !== null) {
counterIncrement.forEach(entry => {
const counter = this.counters[entry.counter];
if (counter) {
if (counter && entry.increment !== 0) {
canReset = false;
counter[Math.max(0, counter.length - 1)] += entry.increment;
}
});
}
const counterNames: string[] = [];
counterReset.forEach(entry => {
let counter = this.counters[entry.counter];
counterNames.push(entry.counter);
if (!counter) {
counter = this.counters[entry.counter] = [];
}
counter.push(entry.reset);
});
if (canReset) {
counterReset.forEach(entry => {
let counter = this.counters[entry.counter];
counterNames.push(entry.counter);
if (!counter) {
counter = this.counters[entry.counter] = [];
}
counter.push(entry.reset);
});
}
return counterNames;
}