Skip to content

inject css with template string to allow for line breaks#894

Merged
lucasfernog merged 2 commits intodevfrom
fix/css-template-string
Jul 25, 2020
Merged

inject css with template string to allow for line breaks#894
lucasfernog merged 2 commits intodevfrom
fix/css-template-string

Conversation

@chippers
Copy link
Member

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • New Binding Issue #___
  • Code style update
  • Refactor
  • Build-related changes
  • Other, please describe:

Does this PR introduce a breaking change? (check one)

  • Yes. Issue #___
  • No

The PR fulfills these requirements:

  • When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)
  • A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.

If adding a new feature, the PR's description includes:

  • A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
No change file because there hasn't been a release since the last commit that changed this behavior. (e3e2e39)

An alternative solution would to be implement a struct JsStringLiteral with a fmt::Display that escapes all forbidden codepoints detailed in the spec: https://www.ecma-international.org/ecma-262/#sec-literals-string-literals
An approach very similar to this was previously used to escape css content injected inside of the webview crate. (the one before webview_official)

Template string literal fix seems to be by far the simplest change to fix it. All browsers that tauri supports (the webview browsers) have had support for them for the past 3-4+ years.

I didn't catch this during e3e2e39 because my css was minified with no newlines.

alternative solution would to be implement a struct `JsStringLiteral`
with `fmt::Display` that escapes all forbidden codepoints from the spec
https://www.ecma-international.org/ecma-262/#sec-literals-string-literals

template string literal seems fine as all browsers that tauri supports have
had support for them for the past 3-4+ years

Signed-off-by: Chip Reed <chip@chip.sh>
@chippers chippers requested a review from a team July 25, 2020 06:07
@chippers chippers requested a review from a team as a code owner July 25, 2020 18:52
@lucasfernog lucasfernog merged commit b96b1fb into dev Jul 25, 2020
@lucasfernog lucasfernog deleted the fix/css-template-string branch July 25, 2020 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants