You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prior to this commit, if the value for `v-html` did not begin with
an HTML element tag, it would be wrapped in a `<p>` tag before
being added to its node. This introduced inconsistency in rendering,
for example:
- `'plain text'` became `'<p>plain text</p>'`
- but `'<span>span content</span>'` would remain as-is
An additional problem is that if the string began with plain text,
but contained an element not allowed in a `<p>`, that `<p>` wrapper
would be closed early, potentially creating an even more complex
structure than expected.
for example:
- input: `'beginning <div>internal text</div> ending'`
- output: `'<p>beginning </p><div>internal text</div> ending'`
This wrapping/modification is prevented by wrapping the string in
a `<body>` tag before it is given to the HtmlParser. This `<body>`
tag is only used as a temporary container. Before, it was added in
the parser as an implied tag. Adding it explicitly serves the same
function of providing a temporary node to extract childNodes from,
without the `<p>` side effect.
Additionally, the tests for `v-html` are collected into one, using
dataProvider function to cover the variations
Bug: T402295
0 commit comments