Skip to main content

truncate_to_balanced_css

Function truncate_to_balanced_css 

Source
pub fn truncate_to_balanced_css(css: &str) -> &str
Expand description

ネットワーク切断(TLS読み取りエラー等)で外部CSSが波括弧の途中で 打ち切られた場合、そのまま後続のCSS(他の<link>分)と連結すると、 閉じられなかった{のせいでパーサーが「まだ前のルールの中にいる」と 誤認し、以降の本物のルールを大量に読み飛ばしてしまう(2026-07-25発見)。 文字列/コメントを簡易的に読み飛ばしつつ波括弧の深さを追跡し、深さが 0に戻った最後の位置(=最後まで完結した最後のトップレベルルールの 直後)までに安全側で切り詰める。既に完全にバランスしている場合は 元の文字列をそのまま返す。