Skip to content

Commit

Permalink
First steps towards trusted-types support
Browse files Browse the repository at this point in the history
Refactor away some trival usages of `.innerHTML`. Unfortunately, there is no way to
enabled trusted-types in report-only mode via `<meta>` tags, see
w3c/webappsec-csp#277
  • Loading branch information
jvoisin authored and fguillot committed Mar 11, 2024
1 parent 826e4d6 commit fd8f259
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions internal/ui/static/js/app.js
Expand Up @@ -114,7 +114,7 @@ function handleSubmitButtons() {
let button = element.querySelector("button");

if (button) {
button.innerHTML = button.dataset.labelLoading;
button.textContent = button.dataset.labelLoading;
button.disabled = true;
}
};
Expand Down Expand Up @@ -193,7 +193,7 @@ function toggleEntryStatus(element, toasting) {
let currentStatus = link.dataset.value;
let newStatus = currentStatus === "read" ? "unread" : "read";

link.querySelector("span").innerHTML = link.dataset.labelLoading;
link.querySelector("span").textContent = link.dataset.labelLoading;
updateEntriesStatus([entryID], newStatus, () => {
let iconElement, label;

Expand Down Expand Up @@ -352,12 +352,13 @@ function handleFetchOriginalContent() {
return;
}

let previousInnerHTML = element.innerHTML;
let previousElement = element.cloneNode(true)
element.innerHTML = '<span class="icon-label">' + element.dataset.labelLoading + '</span>';

let request = new RequestBuilder(element.dataset.fetchContentUrl);
request.withCallback((response) => {
element.innerHTML = previousInnerHTML;
element.textContent = '';
element.appendChild(previousElement);

response.json().then((data) => {
if (data.hasOwnProperty("content") && data.hasOwnProperty("reading_time")) {
Expand Down

0 comments on commit fd8f259

Please sign in to comment.