Skip to main content

strip_css_wide_keywords

Function strip_css_wide_keywords 

Source
pub(crate) fn strip_css_wide_keywords(
    specified_values: &mut BTreeMap<String, String>,
)
Expand description

CSS-wide keywords(initial/inherit/unset/revert)を持つプロパティを specified_values から取り除く。取り除いた後の挙動:

  • 継承プロパティ(INHERITED_PROPS): 呼び出し側の継承伝搬処理( if !specified_values.contains_key(k))が自然に親の値で埋めるため、 inherit/unset の意味的にも正しい結果になる。
  • 非継承プロパティ: 親の全プロパティを参照する仕組みがこの処理系には無いため、 inherit を厳密には解決できず「未指定(=各所のデフォルト値)」へフォールバックする 簡略実装(initial/revert も同様に扱う)。値を素通りさせて壊れた文字列 (例: color:inherit がそのまま色として解釈されようとして失敗する)を残すよりは 安全という判断。