43 lines
1.3 KiB
Diff
43 lines
1.3 KiB
Diff
From 0d300a2e703fdcc575ce36dfd62f6c3a9887a3ff Mon Sep 17 00:00:00 2001
|
|
From: Mark Striemer <mstriemer@mozilla.com>
|
|
Date: Wed, 16 Nov 2022 23:07:57 -0600
|
|
Subject: [PATCH 2/5] use DOMParser not innerHTML=
|
|
|
|
---
|
|
packages/lit-html/src/lit-html.ts | 13 ++++++++++---
|
|
1 file changed, 10 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/packages/lit-html/src/lit-html.ts b/packages/lit-html/src/lit-html.ts
|
|
index 896d298b..994c24e2 100644
|
|
--- a/packages/lit-html/src/lit-html.ts
|
|
+++ b/packages/lit-html/src/lit-html.ts
|
|
@@ -14,6 +14,8 @@ const NODE_MODE = false;
|
|
// Use window for browser builds because IE11 doesn't have globalThis.
|
|
const global = NODE_MODE ? globalThis : window;
|
|
|
|
+const __moz_domParser = new DOMParser();
|
|
+
|
|
/**
|
|
* Contains types that are part of the unstable debug API.
|
|
*
|
|
@@ -1017,9 +1019,14 @@ class Template {
|
|
// Overridden via `litHtmlPolyfillSupport` to provide platform support.
|
|
/** @nocollapse */
|
|
static createElement(html: TrustedHTML, _options?: RenderOptions) {
|
|
- const el = d.createElement('template');
|
|
- el.innerHTML = html as unknown as string;
|
|
- return el;
|
|
+ const doc = __moz_domParser.parseFromString(
|
|
+ `<template>${html}</template>`,
|
|
+ 'text/html'
|
|
+ );
|
|
+ return document.importNode(
|
|
+ doc.querySelector('template') as HTMLTemplateElement,
|
|
+ true
|
|
+ );
|
|
}
|
|
}
|
|
|
|
--
|
|
2.37.1 (Apple Git-137.1)
|
|
|