Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 2 commits into from
Jul 25, 2020

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 <[email protected]>
@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