in v2, don't parse for interpolations in non-root style elements (#1339)

pull/1342/head
Conduitry 8 years ago
parent 1c4b1665d1
commit bed13d2147

@ -248,13 +248,21 @@ export default function tag(parser: Parser) {
element.end = parser.index; element.end = parser.index;
} else if (name === 'style') { } else if (name === 'style') {
// special case // special case
element.children = readSequence( if (parser.v2) {
parser, const start = parser.index;
() => const data = parser.readUntil(/<\/style>/);
parser.template.slice(parser.index, parser.index + 8) === '</style>' const end = parser.index;
); element.children.push({ start, end, type: 'Text', data });
parser.read(/<\/style>/); parser.eat('</style>', true);
element.end = parser.index; } else {
element.children = readSequence(
parser,
() =>
parser.template.slice(parser.index, parser.index + 8) === '</style>'
);
parser.read(/<\/style>/);
element.end = parser.index;
}
} else { } else {
parser.stack.push(element); parser.stack.push(element);
} }

@ -0,0 +1,4 @@
<div>
<style>div { color: red; }</style>
<script>alert('<>');</script>
</div>
Loading…
Cancel
Save