Chromium Code Reviews| Index: third_party/WebKit/Source/core/html/parser/HTMLTreeBuilderSimulator.cpp |
| diff --git a/third_party/WebKit/Source/core/html/parser/HTMLTreeBuilderSimulator.cpp b/third_party/WebKit/Source/core/html/parser/HTMLTreeBuilderSimulator.cpp |
| index 67e9caff836c76efa3d406a4058f54b028526890..21cdc5ff5a4f445d381aade18299b53796f5d955 100644 |
| --- a/third_party/WebKit/Source/core/html/parser/HTMLTreeBuilderSimulator.cpp |
| +++ b/third_party/WebKit/Source/core/html/parser/HTMLTreeBuilderSimulator.cpp |
| @@ -175,14 +175,16 @@ HTMLTreeBuilderSimulator::SimulatedToken HTMLTreeBuilderSimulator::simulate(cons |
| if (inForeignContent() && tokenExitsForeignContent(token)) |
| m_stack.removeLast(); |
| - if (threadSafeMatch(tagName, SVGNames::svgTag)) |
| + if (currentNodeIsHTMLIntegrationPoint) |
| + m_stack.append(StateFlags {HTML, false}); |
|
dominicc (has gone to gerrit)
2016/07/21 02:14:48
Why don't we need a matching change to "pop" this?
|
| + else if (threadSafeMatch(tagName, SVGNames::svgTag)) |
| m_stack.append(StateFlags {SVG, tokenStartsHTMLIntegrationPoint(token)}); |
| else if (threadSafeMatch(tagName, MathMLNames::mathTag)) |
| m_stack.append(StateFlags {MathML, tokenStartsHTMLIntegrationPoint(token)}); |
| else if ((currentNodeNamespace == SVG && tokenExitsSVG(token)) |
| || (currentNodeNamespace == MathML && tokenExitsMath(token))) |
| m_stack.append(StateFlags {HTML, tokenStartsHTMLIntegrationPoint(token)}); |
| - else if (elementMayBeHTMLIntegrationPoint(token.data()) != currentNodeIsHTMLIntegrationPoint) |
| + else if (elementMayBeHTMLIntegrationPoint(token.data())) |
| m_stack.append(StateFlags {static_cast<unsigned>(currentNodeNamespace), tokenStartsHTMLIntegrationPoint(token)}); |
| if (!inForeignContent() || currentNodeIsHTMLIntegrationPoint) { |