В вопросе результирующими цветами заливки будет плавающее число (xx.xx ...). Safari не учитывает плавающие числа в заливке.
Вместо этого мы должны преобразовать числа в Ints, например:
let fillStr = `rgb(${Math.floor(fill.r * 256)},${Math.floor(fill.g * 256)},${Math.floor(fill.b * 256)})`;