From 4491c707907a6a931fd8c057c2baeb0b9e6db1d8 Mon Sep 17 00:00:00 2001 From: Noah Klayman Date: Sat, 30 Jan 2021 10:46:18 -0800 Subject: [PATCH] fix(tauri/asset): escape octal sequences in css (#1166) * fix(tauri/asset): escape octal sequences in css * chore(package): add .changes file --- .changes/css-inliner-octal.md | 5 +++++ tauri/src/endpoints/asset.rs | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changes/css-inliner-octal.md diff --git a/.changes/css-inliner-octal.md b/.changes/css-inliner-octal.md new file mode 100644 index 000000000..69971bcea --- /dev/null +++ b/.changes/css-inliner-octal.md @@ -0,0 +1,5 @@ +--- +"tauri": patch +--- + +Replace `\` with `\\` in css assets that are lazy loaded. Since these are injected in a template literal, backslashes must be escaped. Backslashes are sometimes used for octal sequences in CSS. diff --git a/tauri/src/endpoints/asset.rs b/tauri/src/endpoints/asset.rs index 8c8e4940d..b1d54f32f 100644 --- a/tauri/src/endpoints/asset.rs +++ b/tauri/src/endpoints/asset.rs @@ -76,7 +76,8 @@ pub fn load( document.getElementsByTagName("head")[0].appendChild(css); }})(`{css}`) "#, - css = asset_str + // Escape octal sequences, which aren't allowed in template literals + css = asset_str.replace("\\", "\\\\").as_str() )); } else { webview_ref.eval(asset_str);