<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[162293] trunk/Source/WebCore</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/162293">162293</a></dd>
<dt>Author</dt> <dd>andersca@apple.com</dd>
<dt>Date</dt> <dd>2014-01-19 11:00:27 -0800 (Sun, 19 Jan 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Use a strong enum for HTMLTreeBuilder::InsertionMode
https://bugs.webkit.org/show_bug.cgi?id=127252
Reviewed by Antti Koivisto.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::constructTree):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processTemplateStartTag):
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::closeTheCell):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
(WebCore::HTMLTreeBuilder::processEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::defaultForInitial):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/HTMLTreeBuilder.h:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTreeBuildercpp">trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTreeBuilderh">trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (162292 => 162293)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-19 18:42:01 UTC (rev 162292)
+++ trunk/Source/WebCore/ChangeLog        2014-01-19 19:00:27 UTC (rev 162293)
</span><span class="lines">@@ -1,5 +1,41 @@
</span><span class="cx"> 2014-01-19 Anders Carlsson <andersca@apple.com>
</span><span class="cx">
</span><ins>+ Use a strong enum for HTMLTreeBuilder::InsertionMode
+ https://bugs.webkit.org/show_bug.cgi?id=127252
+
+ Reviewed by Antti Koivisto.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+ (WebCore::HTMLTreeBuilder::constructTree):
+ (WebCore::HTMLTreeBuilder::processDoctypeToken):
+ (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+ (WebCore::HTMLTreeBuilder::processTemplateStartTag):
+ (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
+ (WebCore::HTMLTreeBuilder::closeTheCell):
+ (WebCore::HTMLTreeBuilder::processStartTagForInTable):
+ (WebCore::HTMLTreeBuilder::processStartTag):
+ (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
+ (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
+ (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
+ (WebCore::HTMLTreeBuilder::processEndTagForInRow):
+ (WebCore::HTMLTreeBuilder::processEndTagForInCell):
+ (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
+ (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
+ (WebCore::HTMLTreeBuilder::processEndTag):
+ (WebCore::HTMLTreeBuilder::processComment):
+ (WebCore::HTMLTreeBuilder::processCharacterBuffer):
+ (WebCore::HTMLTreeBuilder::processEndOfFile):
+ (WebCore::HTMLTreeBuilder::defaultForInitial):
+ (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
+ (WebCore::HTMLTreeBuilder::processStartTagForInHead):
+ (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
+ (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
+ (WebCore::HTMLTreeBuilder::processScriptStartTag):
+ * html/parser/HTMLTreeBuilder.h:
+
+2014-01-19 Anders Carlsson <andersca@apple.com>
+
</ins><span class="cx"> Convert LoaderRunLoopCF.cpp and WebCoreThreadRun.cpp over to modern threading primitives
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=127251
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTreeBuildercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (162292 => 162293)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp        2014-01-19 18:42:01 UTC (rev 162292)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp        2014-01-19 19:00:27 UTC (rev 162293)
</span><span class="lines">@@ -275,8 +275,8 @@
</span><span class="cx"> , m_isAttached(true)
</span><span class="cx"> #endif
</span><span class="cx"> , m_tree(document, parserContentPolicy, options.maximumDOMTreeDepth)
</span><del>- , m_insertionMode(InitialMode)
- , m_originalInsertionMode(InitialMode)
</del><ins>+ , m_insertionMode(InsertionMode::Initial)
+ , m_originalInsertionMode(InsertionMode::Initial)
</ins><span class="cx"> , m_shouldSkipLeadingNewline(false)
</span><span class="cx"> , m_parser(parser)
</span><span class="cx"> , m_scriptToProcessStartPosition(uninitializedPositionValue1())
</span><span class="lines">@@ -293,8 +293,8 @@
</span><span class="cx"> #endif
</span><span class="cx"> , m_fragmentContext(fragment, contextElement)
</span><span class="cx"> , m_tree(fragment, parserContentPolicy, options.maximumDOMTreeDepth)
</span><del>- , m_insertionMode(InitialMode)
- , m_originalInsertionMode(InitialMode)
</del><ins>+ , m_insertionMode(InsertionMode::Initial)
+ , m_originalInsertionMode(InsertionMode::Initial)
</ins><span class="cx"> , m_shouldSkipLeadingNewline(false)
</span><span class="cx"> , m_parser(parser)
</span><span class="cx"> , m_scriptToProcessStartPosition(uninitializedPositionValue1())
</span><span class="lines">@@ -312,7 +312,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="cx"> if (contextElement->hasTagName(templateTag))
</span><del>- m_templateInsertionModes.append(TemplateContentsMode);
</del><ins>+ m_templateInsertionModes.append(InsertionMode::TemplateContents);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> resetInsertionModeAppropriately();
</span><span class="lines">@@ -378,7 +378,7 @@
</span><span class="cx"> && !HTMLElementStack::isHTMLIntegrationPoint(m_tree.currentStackItem())
</span><span class="cx"> && !HTMLElementStack::isMathMLTextIntegrationPoint(m_tree.currentStackItem());
</span><span class="cx">
</span><del>- m_parser.tokenizer()->setForceNullCharacterReplacement(m_insertionMode == TextMode || inForeignContent);
</del><ins>+ m_parser.tokenizer()->setForceNullCharacterReplacement(m_insertionMode == InsertionMode::Text || inForeignContent);
</ins><span class="cx"> m_parser.tokenizer()->setShouldAllowCDATA(inForeignContent);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -421,12 +421,12 @@
</span><span class="cx"> void HTMLTreeBuilder::processDoctypeToken(AtomicHTMLToken* token)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(token->type() == HTMLToken::DOCTYPE);
</span><del>- if (m_insertionMode == InitialMode) {
</del><ins>+ if (m_insertionMode == InsertionMode::Initial) {
</ins><span class="cx"> m_tree.insertDoctype(token);
</span><del>- setInsertionMode(BeforeHTMLMode);
</del><ins>+ setInsertionMode(InsertionMode::BeforeHTML);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><del>- if (m_insertionMode == InTableTextMode) {
</del><ins>+ if (m_insertionMode == InsertionMode::InTableText) {
</ins><span class="cx"> defaultForInTableText();
</span><span class="cx"> processDoctypeToken(token);
</span><span class="cx"> return;
</span><span class="lines">@@ -677,7 +677,7 @@
</span><span class="cx"> m_tree.openElements()->popHTMLBodyElement();
</span><span class="cx"> ASSERT(m_tree.openElements()->top() == m_tree.openElements()->htmlElement());
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- setInsertionMode(InFramesetMode);
</del><ins>+ setInsertionMode(InsertionMode::InFrameset);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == addressTag
</span><span class="lines">@@ -807,7 +807,7 @@
</span><span class="cx"> processFakeEndTag(pTag);
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><span class="cx"> m_framesetOk = false;
</span><del>- setInsertionMode(InTableMode);
</del><ins>+ setInsertionMode(InsertionMode::InTable);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == imageTag) {
</span><span class="lines">@@ -858,7 +858,7 @@
</span><span class="cx"> m_parser.tokenizer()->setState(HTMLTokenizer::RCDATAState);
</span><span class="cx"> m_originalInsertionMode = m_insertionMode;
</span><span class="cx"> m_framesetOk = false;
</span><del>- setInsertionMode(TextMode);
</del><ins>+ setInsertionMode(InsertionMode::Text);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == xmpTag) {
</span><span class="lines">@@ -885,15 +885,15 @@
</span><span class="cx"> m_tree.reconstructTheActiveFormattingElements();
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><span class="cx"> m_framesetOk = false;
</span><del>- if (m_insertionMode == InTableMode
- || m_insertionMode == InCaptionMode
- || m_insertionMode == InColumnGroupMode
- || m_insertionMode == InTableBodyMode
- || m_insertionMode == InRowMode
- || m_insertionMode == InCellMode)
- setInsertionMode(InSelectInTableMode);
</del><ins>+ if (m_insertionMode == InsertionMode::InTable
+ || m_insertionMode == InsertionMode::InCaption
+ || m_insertionMode == InsertionMode::InColumnGroup
+ || m_insertionMode == InsertionMode::InTableBody
+ || m_insertionMode == InsertionMode::InRow
+ || m_insertionMode == InsertionMode::InCell)
+ setInsertionMode(InsertionMode::InSelectInTable);
</ins><span class="cx"> else
</span><del>- setInsertionMode(InSelectMode);
</del><ins>+ setInsertionMode(InsertionMode::InSelect);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == optgroupTag || token->name() == optionTag) {
</span><span class="lines">@@ -952,8 +952,8 @@
</span><span class="cx"> {
</span><span class="cx"> m_tree.activeFormattingElements()->appendMarker();
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- m_templateInsertionModes.append(TemplateContentsMode);
- setInsertionMode(TemplateContentsMode);
</del><ins>+ m_templateInsertionModes.append(InsertionMode::TemplateContents);
+ setInsertionMode(InsertionMode::TemplateContents);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool HTMLTreeBuilder::processTemplateEndTag(AtomicHTMLToken* token)
</span><span class="lines">@@ -998,14 +998,14 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> m_tree.openElements()->pop();
</span><del>- setInsertionMode(InTableMode);
</del><ins>+ setInsertionMode(InsertionMode::InTable);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#close-the-cell
</span><span class="cx"> void HTMLTreeBuilder::closeTheCell()
</span><span class="cx"> {
</span><del>- ASSERT(insertionMode() == InCellMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InCell);
</ins><span class="cx"> if (m_tree.openElements()->inTableScope(tdTag)) {
</span><span class="cx"> ASSERT(!m_tree.openElements()->inTableScope(thTag));
</span><span class="cx"> processFakeEndTag(tdTag);
</span><span class="lines">@@ -1013,7 +1013,7 @@
</span><span class="cx"> }
</span><span class="cx"> ASSERT(m_tree.openElements()->inTableScope(thTag));
</span><span class="cx"> processFakeEndTag(thTag);
</span><del>- ASSERT(insertionMode() == InRowMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InRow);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLTreeBuilder::processStartTagForInTable(AtomicHTMLToken* token)
</span><span class="lines">@@ -1023,31 +1023,31 @@
</span><span class="cx"> m_tree.openElements()->popUntilTableScopeMarker();
</span><span class="cx"> m_tree.activeFormattingElements()->appendMarker();
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- setInsertionMode(InCaptionMode);
</del><ins>+ setInsertionMode(InsertionMode::InCaption);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == colgroupTag) {
</span><span class="cx"> m_tree.openElements()->popUntilTableScopeMarker();
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- setInsertionMode(InColumnGroupMode);
</del><ins>+ setInsertionMode(InsertionMode::InColumnGroup);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == colTag) {
</span><span class="cx"> processFakeStartTag(colgroupTag);
</span><del>- ASSERT(InColumnGroupMode);
</del><ins>+ ASSERT(InsertionMode::InColumnGroup);
</ins><span class="cx"> processStartTag(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (isTableBodyContextTag(token->name())) {
</span><span class="cx"> m_tree.openElements()->popUntilTableScopeMarker();
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- setInsertionMode(InTableBodyMode);
</del><ins>+ setInsertionMode(InsertionMode::InTableBody);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (isTableCellContextTag(token->name())
</span><span class="cx"> || token->name() == trTag) {
</span><span class="cx"> processFakeStartTag(tbodyTag);
</span><del>- ASSERT(insertionMode() == InTableBodyMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InTableBody);
</ins><span class="cx"> processStartTag(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1096,40 +1096,40 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(token->type() == HTMLToken::StartTag);
</span><span class="cx"> switch (insertionMode()) {
</span><del>- case InitialMode:
- ASSERT(insertionMode() == InitialMode);
</del><ins>+ case InsertionMode::Initial:
+ ASSERT(insertionMode() == InsertionMode::Initial);
</ins><span class="cx"> defaultForInitial();
</span><span class="cx"> // Fall through.
</span><del>- case BeforeHTMLMode:
- ASSERT(insertionMode() == BeforeHTMLMode);
</del><ins>+ case InsertionMode::BeforeHTML:
+ ASSERT(insertionMode() == InsertionMode::BeforeHTML);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> m_tree.insertHTMLHtmlStartTagBeforeHTML(token);
</span><del>- setInsertionMode(BeforeHeadMode);
</del><ins>+ setInsertionMode(InsertionMode::BeforeHead);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForBeforeHTML();
</span><span class="cx"> // Fall through.
</span><del>- case BeforeHeadMode:
- ASSERT(insertionMode() == BeforeHeadMode);
</del><ins>+ case InsertionMode::BeforeHead:
+ ASSERT(insertionMode() == InsertionMode::BeforeHead);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> processHtmlStartTagForInBody(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == headTag) {
</span><span class="cx"> m_tree.insertHTMLHeadElement(token);
</span><del>- setInsertionMode(InHeadMode);
</del><ins>+ setInsertionMode(InsertionMode::InHead);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForBeforeHead();
</span><span class="cx"> // Fall through.
</span><del>- case InHeadMode:
- ASSERT(insertionMode() == InHeadMode);
</del><ins>+ case InsertionMode::InHead:
+ ASSERT(insertionMode() == InsertionMode::InHead);
</ins><span class="cx"> if (processStartTagForInHead(token))
</span><span class="cx"> return;
</span><span class="cx"> defaultForInHead();
</span><span class="cx"> // Fall through.
</span><del>- case AfterHeadMode:
- ASSERT(insertionMode() == AfterHeadMode);
</del><ins>+ case InsertionMode::AfterHead:
+ ASSERT(insertionMode() == InsertionMode::AfterHead);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> processHtmlStartTagForInBody(token);
</span><span class="cx"> return;
</span><span class="lines">@@ -1137,12 +1137,12 @@
</span><span class="cx"> if (token->name() == bodyTag) {
</span><span class="cx"> m_framesetOk = false;
</span><span class="cx"> m_tree.insertHTMLBodyElement(token);
</span><del>- setInsertionMode(InBodyMode);
</del><ins>+ setInsertionMode(InsertionMode::InBody);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == framesetTag) {
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- setInsertionMode(InFramesetMode);
</del><ins>+ setInsertionMode(InsertionMode::InFrameset);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == baseTag
</span><span class="lines">@@ -1170,16 +1170,16 @@
</span><span class="cx"> }
</span><span class="cx"> defaultForAfterHead();
</span><span class="cx"> // Fall through
</span><del>- case InBodyMode:
- ASSERT(insertionMode() == InBodyMode);
</del><ins>+ case InsertionMode::InBody:
+ ASSERT(insertionMode() == InsertionMode::InBody);
</ins><span class="cx"> processStartTagForInBody(token);
</span><span class="cx"> break;
</span><del>- case InTableMode:
- ASSERT(insertionMode() == InTableMode);
</del><ins>+ case InsertionMode::InTable:
+ ASSERT(insertionMode() == InsertionMode::InTable);
</ins><span class="cx"> processStartTagForInTable(token);
</span><span class="cx"> break;
</span><del>- case InCaptionMode:
- ASSERT(insertionMode() == InCaptionMode);
</del><ins>+ case InsertionMode::InCaption:
+ ASSERT(insertionMode() == InsertionMode::InCaption);
</ins><span class="cx"> if (isCaptionColOrColgroupTag(token->name())
</span><span class="cx"> || isTableBodyContextTag(token->name())
</span><span class="cx"> || isTableCellContextTag(token->name())
</span><span class="lines">@@ -1194,8 +1194,8 @@
</span><span class="cx"> }
</span><span class="cx"> processStartTagForInBody(token);
</span><span class="cx"> break;
</span><del>- case InColumnGroupMode:
- ASSERT(insertionMode() == InColumnGroupMode);
</del><ins>+ case InsertionMode::InColumnGroup:
+ ASSERT(insertionMode() == InsertionMode::InColumnGroup);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> processHtmlStartTagForInBody(token);
</span><span class="cx"> return;
</span><span class="lines">@@ -1216,18 +1216,18 @@
</span><span class="cx"> }
</span><span class="cx"> processStartTag(token);
</span><span class="cx"> break;
</span><del>- case InTableBodyMode:
- ASSERT(insertionMode() == InTableBodyMode);
</del><ins>+ case InsertionMode::InTableBody:
+ ASSERT(insertionMode() == InsertionMode::InTableBody);
</ins><span class="cx"> if (token->name() == trTag) {
</span><span class="cx"> m_tree.openElements()->popUntilTableBodyScopeMarker(); // How is there ever anything to pop?
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- setInsertionMode(InRowMode);
</del><ins>+ setInsertionMode(InsertionMode::InRow);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (isTableCellContextTag(token->name())) {
</span><span class="cx"> parseError(token);
</span><span class="cx"> processFakeStartTag(trTag);
</span><del>- ASSERT(insertionMode() == InRowMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InRow);
</ins><span class="cx"> processStartTag(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1246,12 +1246,12 @@
</span><span class="cx"> }
</span><span class="cx"> processStartTagForInTable(token);
</span><span class="cx"> break;
</span><del>- case InRowMode:
- ASSERT(insertionMode() == InRowMode);
</del><ins>+ case InsertionMode::InRow:
+ ASSERT(insertionMode() == InsertionMode::InRow);
</ins><span class="cx"> if (isTableCellContextTag(token->name())) {
</span><span class="cx"> m_tree.openElements()->popUntilTableRowScopeMarker();
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- setInsertionMode(InCellMode);
</del><ins>+ setInsertionMode(InsertionMode::InCell);
</ins><span class="cx"> m_tree.activeFormattingElements()->appendMarker();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1262,14 +1262,14 @@
</span><span class="cx"> ASSERT(isParsingFragmentOrTemplateContents());
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- ASSERT(insertionMode() == InTableBodyMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InTableBody);
</ins><span class="cx"> processStartTag(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> processStartTagForInTable(token);
</span><span class="cx"> break;
</span><del>- case InCellMode:
- ASSERT(insertionMode() == InCellMode);
</del><ins>+ case InsertionMode::InCell:
+ ASSERT(insertionMode() == InsertionMode::InCell);
</ins><span class="cx"> if (isCaptionColOrColgroupTag(token->name())
</span><span class="cx"> || isTableCellContextTag(token->name())
</span><span class="cx"> || token->name() == trTag
</span><span class="lines">@@ -1286,18 +1286,18 @@
</span><span class="cx"> }
</span><span class="cx"> processStartTagForInBody(token);
</span><span class="cx"> break;
</span><del>- case AfterBodyMode:
- case AfterAfterBodyMode:
- ASSERT(insertionMode() == AfterBodyMode || insertionMode() == AfterAfterBodyMode);
</del><ins>+ case InsertionMode::AfterBody:
+ case InsertionMode::AfterAfterBody:
+ ASSERT(insertionMode() == InsertionMode::AfterBody || insertionMode() == InsertionMode::AfterAfterBody);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> processHtmlStartTagForInBody(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- setInsertionMode(InBodyMode);
</del><ins>+ setInsertionMode(InsertionMode::InBody);
</ins><span class="cx"> processStartTag(token);
</span><span class="cx"> break;
</span><del>- case InHeadNoscriptMode:
- ASSERT(insertionMode() == InHeadNoscriptMode);
</del><ins>+ case InsertionMode::InHeadNoscript:
+ ASSERT(insertionMode() == InsertionMode::InHeadNoscript);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> processHtmlStartTagForInBody(token);
</span><span class="cx"> return;
</span><span class="lines">@@ -1319,8 +1319,8 @@
</span><span class="cx"> defaultForInHeadNoscript();
</span><span class="cx"> processToken(token);
</span><span class="cx"> break;
</span><del>- case InFramesetMode:
- ASSERT(insertionMode() == InFramesetMode);
</del><ins>+ case InsertionMode::InFrameset:
+ ASSERT(insertionMode() == InsertionMode::InFrameset);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> processHtmlStartTagForInBody(token);
</span><span class="cx"> return;
</span><span class="lines">@@ -1345,9 +1345,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> parseError(token);
</span><span class="cx"> break;
</span><del>- case AfterFramesetMode:
- case AfterAfterFramesetMode:
- ASSERT(insertionMode() == AfterFramesetMode || insertionMode() == AfterAfterFramesetMode);
</del><ins>+ case InsertionMode::AfterFrameset:
+ case InsertionMode::AfterAfterFrameset:
+ ASSERT(insertionMode() == InsertionMode::AfterFrameset || insertionMode() == InsertionMode::AfterAfterFrameset);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> processHtmlStartTagForInBody(token);
</span><span class="cx"> return;
</span><span class="lines">@@ -1358,8 +1358,8 @@
</span><span class="cx"> }
</span><span class="cx"> parseError(token);
</span><span class="cx"> break;
</span><del>- case InSelectInTableMode:
- ASSERT(insertionMode() == InSelectInTableMode);
</del><ins>+ case InsertionMode::InSelectInTable:
+ ASSERT(insertionMode() == InsertionMode::InSelectInTable);
</ins><span class="cx"> if (token->name() == captionTag
</span><span class="cx"> || token->name() == tableTag
</span><span class="cx"> || isTableBodyContextTag(token->name())
</span><span class="lines">@@ -1372,8 +1372,8 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> // Fall through
</span><del>- case InSelectMode:
- ASSERT(insertionMode() == InSelectMode || insertionMode() == InSelectInTableMode);
</del><ins>+ case InsertionMode::InSelect:
+ ASSERT(insertionMode() == InsertionMode::InSelect || insertionMode() == InsertionMode::InSelectInTable);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> processHtmlStartTagForInBody(token);
</span><span class="cx"> return;
</span><span class="lines">@@ -1429,14 +1429,14 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> break;
</span><del>- case InTableTextMode:
</del><ins>+ case InsertionMode::InTableText:
</ins><span class="cx"> defaultForInTableText();
</span><span class="cx"> processStartTag(token);
</span><span class="cx"> break;
</span><del>- case TextMode:
</del><ins>+ case InsertionMode::Text:
</ins><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> break;
</span><del>- case TemplateContentsMode:
</del><ins>+ case InsertionMode::TemplateContents:
</ins><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="cx"> if (token->name() == templateTag) {
</span><span class="cx"> processTemplateStartTag(token);
</span><span class="lines">@@ -1451,22 +1451,22 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- InsertionMode insertionMode = TemplateContentsMode;
</del><ins>+ InsertionMode insertionMode = InsertionMode::TemplateContents;
</ins><span class="cx"> if (token->name() == frameTag)
</span><del>- insertionMode = InFramesetMode;
</del><ins>+ insertionMode = InsertionMode::InFrameset;
</ins><span class="cx"> else if (token->name() == colTag)
</span><del>- insertionMode = InColumnGroupMode;
</del><ins>+ insertionMode = InsertionMode::InColumnGroup;
</ins><span class="cx"> else if (isCaptionColOrColgroupTag(token->name()) || isTableBodyContextTag(token->name()))
</span><del>- insertionMode = InTableMode;
</del><ins>+ insertionMode = InsertionMode::InTable;
</ins><span class="cx"> else if (token->name() == trTag)
</span><del>- insertionMode = InTableBodyMode;
</del><ins>+ insertionMode = InsertionMode::InTableBody;
</ins><span class="cx"> else if (isTableCellContextTag(token->name()))
</span><del>- insertionMode = InRowMode;
</del><ins>+ insertionMode = InsertionMode::InRow;
</ins><span class="cx"> else
</span><del>- insertionMode = InBodyMode;
</del><ins>+ insertionMode = InsertionMode::InBody;
</ins><span class="cx">
</span><del>- ASSERT(insertionMode != TemplateContentsMode);
- ASSERT(m_templateInsertionModes.last() == TemplateContentsMode);
</del><ins>+ ASSERT(insertionMode != InsertionMode::TemplateContents);
+ ASSERT(m_templateInsertionModes.last() == InsertionMode::TemplateContents);
</ins><span class="cx"> m_templateInsertionModes.last() = insertionMode;
</span><span class="cx"> setInsertionMode(insertionMode);
</span><span class="cx">
</span><span class="lines">@@ -1499,7 +1499,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> notImplemented(); // Emit a more specific parse error based on stack contents.
</span><del>- setInsertionMode(AfterBodyMode);
</del><ins>+ setInsertionMode(InsertionMode::AfterBody);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1670,46 +1670,46 @@
</span><span class="cx"> nodeRecord = nodeRecord->next();
</span><span class="cx"> item = nodeRecord->stackItem();
</span><span class="cx"> if (isHTMLTableElement(item->node()))
</span><del>- return setInsertionMode(InSelectInTableMode);
</del><ins>+ return setInsertionMode(InsertionMode::InSelectInTable);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><del>- return setInsertionMode(InSelectMode);
</del><ins>+ return setInsertionMode(InsertionMode::InSelect);
</ins><span class="cx"> }
</span><span class="cx"> if (item->hasTagName(tdTag) || item->hasTagName(thTag))
</span><del>- return setInsertionMode(InCellMode);
</del><ins>+ return setInsertionMode(InsertionMode::InCell);
</ins><span class="cx"> if (item->hasTagName(trTag))
</span><del>- return setInsertionMode(InRowMode);
</del><ins>+ return setInsertionMode(InsertionMode::InRow);
</ins><span class="cx"> if (item->hasTagName(tbodyTag) || item->hasTagName(theadTag) || item->hasTagName(tfootTag))
</span><del>- return setInsertionMode(InTableBodyMode);
</del><ins>+ return setInsertionMode(InsertionMode::InTableBody);
</ins><span class="cx"> if (item->hasTagName(captionTag))
</span><del>- return setInsertionMode(InCaptionMode);
</del><ins>+ return setInsertionMode(InsertionMode::InCaption);
</ins><span class="cx"> if (item->hasTagName(colgroupTag)) {
</span><del>- return setInsertionMode(InColumnGroupMode);
</del><ins>+ return setInsertionMode(InsertionMode::InColumnGroup);
</ins><span class="cx"> }
</span><span class="cx"> if (isHTMLTableElement(item->node()))
</span><del>- return setInsertionMode(InTableMode);
</del><ins>+ return setInsertionMode(InsertionMode::InTable);
</ins><span class="cx"> if (item->hasTagName(headTag)) {
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="cx"> if (!m_fragmentContext.fragment() || m_fragmentContext.contextElement() != item->node())
</span><del>- return setInsertionMode(InHeadMode);
</del><ins>+ return setInsertionMode(InsertionMode::InHead);
</ins><span class="cx"> #endif
</span><del>- return setInsertionMode(InBodyMode);
</del><ins>+ return setInsertionMode(InsertionMode::InBody);
</ins><span class="cx"> }
</span><span class="cx"> if (item->hasTagName(bodyTag))
</span><del>- return setInsertionMode(InBodyMode);
</del><ins>+ return setInsertionMode(InsertionMode::InBody);
</ins><span class="cx"> if (item->hasTagName(framesetTag)) {
</span><del>- return setInsertionMode(InFramesetMode);
</del><ins>+ return setInsertionMode(InsertionMode::InFrameset);
</ins><span class="cx"> }
</span><span class="cx"> if (item->hasTagName(htmlTag)) {
</span><span class="cx"> if (m_tree.headStackItem())
</span><del>- return setInsertionMode(AfterHeadMode);
</del><ins>+ return setInsertionMode(InsertionMode::AfterHead);
</ins><span class="cx"> ASSERT(isParsingFragment());
</span><del>- return setInsertionMode(BeforeHeadMode);
</del><ins>+ return setInsertionMode(InsertionMode::BeforeHead);
</ins><span class="cx"> }
</span><span class="cx"> if (last) {
</span><span class="cx"> ASSERT(isParsingFragment());
</span><del>- return setInsertionMode(InBodyMode);
</del><ins>+ return setInsertionMode(InsertionMode::InBody);
</ins><span class="cx"> }
</span><span class="cx"> nodeRecord = nodeRecord->next();
</span><span class="cx"> }
</span><span class="lines">@@ -1725,7 +1725,7 @@
</span><span class="cx"> }
</span><span class="cx"> m_tree.openElements()->popUntilTableBodyScopeMarker();
</span><span class="cx"> m_tree.openElements()->pop();
</span><del>- setInsertionMode(InTableMode);
</del><ins>+ setInsertionMode(InsertionMode::InTable);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == tableTag) {
</span><span class="lines">@@ -1764,7 +1764,7 @@
</span><span class="cx"> ASSERT(isParsingFragmentOrTemplateContents());
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- ASSERT(insertionMode() == InTableBodyMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InTableBody);
</ins><span class="cx"> processEndTag(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1774,7 +1774,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> processFakeEndTag(trTag);
</span><del>- ASSERT(insertionMode() == InTableBodyMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InTableBody);
</ins><span class="cx"> processEndTag(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1801,7 +1801,7 @@
</span><span class="cx"> parseError(token);
</span><span class="cx"> m_tree.openElements()->popUntilPopped(token->name());
</span><span class="cx"> m_tree.activeFormattingElements()->clearToLastMarker();
</span><del>- setInsertionMode(InRowMode);
</del><ins>+ setInsertionMode(InsertionMode::InRow);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == bodyTag
</span><span class="lines">@@ -1990,7 +1990,7 @@
</span><span class="cx"> // FIXME: parse error if (!m_tree.currentStackItem()->hasTagName(captionTag))
</span><span class="cx"> m_tree.openElements()->popUntilPopped(captionTag.localName());
</span><span class="cx"> m_tree.activeFormattingElements()->clearToLastMarker();
</span><del>- setInsertionMode(InTableMode);
</del><ins>+ setInsertionMode(InsertionMode::InTable);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2004,7 +2004,7 @@
</span><span class="cx"> m_tree.openElements()->popUntilTableRowScopeMarker();
</span><span class="cx"> ASSERT(m_tree.currentStackItem()->hasTagName(trTag));
</span><span class="cx"> m_tree.openElements()->pop();
</span><del>- setInsertionMode(InTableBodyMode);
</del><ins>+ setInsertionMode(InsertionMode::InTableBody);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2046,31 +2046,31 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(token->type() == HTMLToken::EndTag);
</span><span class="cx"> switch (insertionMode()) {
</span><del>- case InitialMode:
- ASSERT(insertionMode() == InitialMode);
</del><ins>+ case InsertionMode::Initial:
+ ASSERT(insertionMode() == InsertionMode::Initial);
</ins><span class="cx"> defaultForInitial();
</span><span class="cx"> // Fall through.
</span><del>- case BeforeHTMLMode:
- ASSERT(insertionMode() == BeforeHTMLMode);
</del><ins>+ case InsertionMode::BeforeHTML:
+ ASSERT(insertionMode() == InsertionMode::BeforeHTML);
</ins><span class="cx"> if (token->name() != headTag && token->name() != bodyTag && token->name() != htmlTag && token->name() != brTag) {
</span><span class="cx"> parseError(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForBeforeHTML();
</span><span class="cx"> // Fall through.
</span><del>- case BeforeHeadMode:
- ASSERT(insertionMode() == BeforeHeadMode);
</del><ins>+ case InsertionMode::BeforeHead:
+ ASSERT(insertionMode() == InsertionMode::BeforeHead);
</ins><span class="cx"> if (token->name() != headTag && token->name() != bodyTag && token->name() != htmlTag && token->name() != brTag) {
</span><span class="cx"> parseError(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForBeforeHead();
</span><span class="cx"> // Fall through.
</span><del>- case InHeadMode:
- ASSERT(insertionMode() == InHeadMode);
</del><ins>+ case InsertionMode::InHead:
+ ASSERT(insertionMode() == InsertionMode::InHead);
</ins><span class="cx"> // FIXME: This case should be broken out into processEndTagForInHead,
</span><span class="cx"> // because other end tag cases now refer to it ("process the token for using the rules of the "in head" insertion mode").
</span><del>- // but because the logic falls through to AfterHeadMode, that gets a little messy.
</del><ins>+ // but because the logic falls through to InsertionMode::AfterHead, that gets a little messy.
</ins><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="cx"> if (token->name() == templateTag) {
</span><span class="cx"> processTemplateEndTag(token);
</span><span class="lines">@@ -2079,7 +2079,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> if (token->name() == headTag) {
</span><span class="cx"> m_tree.openElements()->popHTMLHeadElement();
</span><del>- setInsertionMode(AfterHeadMode);
</del><ins>+ setInsertionMode(InsertionMode::AfterHead);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() != bodyTag && token->name() != htmlTag && token->name() != brTag) {
</span><span class="lines">@@ -2088,24 +2088,24 @@
</span><span class="cx"> }
</span><span class="cx"> defaultForInHead();
</span><span class="cx"> // Fall through.
</span><del>- case AfterHeadMode:
- ASSERT(insertionMode() == AfterHeadMode);
</del><ins>+ case InsertionMode::AfterHead:
+ ASSERT(insertionMode() == InsertionMode::AfterHead);
</ins><span class="cx"> if (token->name() != bodyTag && token->name() != htmlTag && token->name() != brTag) {
</span><span class="cx"> parseError(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> defaultForAfterHead();
</span><span class="cx"> // Fall through
</span><del>- case InBodyMode:
- ASSERT(insertionMode() == InBodyMode);
</del><ins>+ case InsertionMode::InBody:
+ ASSERT(insertionMode() == InsertionMode::InBody);
</ins><span class="cx"> processEndTagForInBody(token);
</span><span class="cx"> break;
</span><del>- case InTableMode:
- ASSERT(insertionMode() == InTableMode);
</del><ins>+ case InsertionMode::InTable:
+ ASSERT(insertionMode() == InsertionMode::InTable);
</ins><span class="cx"> processEndTagForInTable(token);
</span><span class="cx"> break;
</span><del>- case InCaptionMode:
- ASSERT(insertionMode() == InCaptionMode);
</del><ins>+ case InsertionMode::InCaption:
+ ASSERT(insertionMode() == InsertionMode::InCaption);
</ins><span class="cx"> if (token->name() == captionTag) {
</span><span class="cx"> processCaptionEndTagForInCaption();
</span><span class="cx"> return;
</span><span class="lines">@@ -2131,8 +2131,8 @@
</span><span class="cx"> }
</span><span class="cx"> processEndTagForInBody(token);
</span><span class="cx"> break;
</span><del>- case InColumnGroupMode:
- ASSERT(insertionMode() == InColumnGroupMode);
</del><ins>+ case InsertionMode::InColumnGroup:
+ ASSERT(insertionMode() == InsertionMode::InColumnGroup);
</ins><span class="cx"> if (token->name() == colgroupTag) {
</span><span class="cx"> processColgroupEndTagForInColumnGroup();
</span><span class="cx"> return;
</span><span class="lines">@@ -2153,42 +2153,42 @@
</span><span class="cx"> }
</span><span class="cx"> processEndTag(token);
</span><span class="cx"> break;
</span><del>- case InRowMode:
- ASSERT(insertionMode() == InRowMode);
</del><ins>+ case InsertionMode::InRow:
+ ASSERT(insertionMode() == InsertionMode::InRow);
</ins><span class="cx"> processEndTagForInRow(token);
</span><span class="cx"> break;
</span><del>- case InCellMode:
- ASSERT(insertionMode() == InCellMode);
</del><ins>+ case InsertionMode::InCell:
+ ASSERT(insertionMode() == InsertionMode::InCell);
</ins><span class="cx"> processEndTagForInCell(token);
</span><span class="cx"> break;
</span><del>- case InTableBodyMode:
- ASSERT(insertionMode() == InTableBodyMode);
</del><ins>+ case InsertionMode::InTableBody:
+ ASSERT(insertionMode() == InsertionMode::InTableBody);
</ins><span class="cx"> processEndTagForInTableBody(token);
</span><span class="cx"> break;
</span><del>- case AfterBodyMode:
- ASSERT(insertionMode() == AfterBodyMode);
</del><ins>+ case InsertionMode::AfterBody:
+ ASSERT(insertionMode() == InsertionMode::AfterBody);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><span class="cx"> if (isParsingFragment()) {
</span><span class="cx"> parseError(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- setInsertionMode(AfterAfterBodyMode);
</del><ins>+ setInsertionMode(InsertionMode::AfterAfterBody);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> // Fall through.
</span><del>- case AfterAfterBodyMode:
- ASSERT(insertionMode() == AfterBodyMode || insertionMode() == AfterAfterBodyMode);
</del><ins>+ case InsertionMode::AfterAfterBody:
+ ASSERT(insertionMode() == InsertionMode::AfterBody || insertionMode() == InsertionMode::AfterAfterBody);
</ins><span class="cx"> parseError(token);
</span><del>- setInsertionMode(InBodyMode);
</del><ins>+ setInsertionMode(InsertionMode::InBody);
</ins><span class="cx"> processEndTag(token);
</span><span class="cx"> break;
</span><del>- case InHeadNoscriptMode:
- ASSERT(insertionMode() == InHeadNoscriptMode);
</del><ins>+ case InsertionMode::InHeadNoscript:
+ ASSERT(insertionMode() == InsertionMode::InHeadNoscript);
</ins><span class="cx"> if (token->name() == noscriptTag) {
</span><span class="cx"> ASSERT(m_tree.currentStackItem()->hasTagName(noscriptTag));
</span><span class="cx"> m_tree.openElements()->pop();
</span><span class="cx"> ASSERT(m_tree.currentStackItem()->hasTagName(headTag));
</span><del>- setInsertionMode(InHeadMode);
</del><ins>+ setInsertionMode(InsertionMode::InHead);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() != brTag) {
</span><span class="lines">@@ -2198,7 +2198,7 @@
</span><span class="cx"> defaultForInHeadNoscript();
</span><span class="cx"> processToken(token);
</span><span class="cx"> break;
</span><del>- case TextMode:
</del><ins>+ case InsertionMode::Text:
</ins><span class="cx"> if (token->name() == scriptTag) {
</span><span class="cx"> // Pause ourselves so that parsing stops until the script can be processed by the caller.
</span><span class="cx"> ASSERT(m_tree.currentStackItem()->hasTagName(scriptTag));
</span><span class="lines">@@ -2220,8 +2220,8 @@
</span><span class="cx"> m_tree.openElements()->pop();
</span><span class="cx"> setInsertionMode(m_originalInsertionMode);
</span><span class="cx"> break;
</span><del>- case InFramesetMode:
- ASSERT(insertionMode() == InFramesetMode);
</del><ins>+ case InsertionMode::InFrameset:
+ ASSERT(insertionMode() == InsertionMode::InFrameset);
</ins><span class="cx"> if (token->name() == framesetTag) {
</span><span class="cx"> bool ignoreFramesetForFragmentParsing = m_tree.currentIsRootNode();
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="lines">@@ -2234,7 +2234,7 @@
</span><span class="cx"> }
</span><span class="cx"> m_tree.openElements()->pop();
</span><span class="cx"> if (!isParsingFragment() && !m_tree.currentStackItem()->hasTagName(framesetTag))
</span><del>- setInsertionMode(AfterFramesetMode);
</del><ins>+ setInsertionMode(InsertionMode::AfterFrameset);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="lines">@@ -2244,19 +2244,19 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> break;
</span><del>- case AfterFramesetMode:
- ASSERT(insertionMode() == AfterFramesetMode);
</del><ins>+ case InsertionMode::AfterFrameset:
+ ASSERT(insertionMode() == InsertionMode::AfterFrameset);
</ins><span class="cx"> if (token->name() == htmlTag) {
</span><del>- setInsertionMode(AfterAfterFramesetMode);
</del><ins>+ setInsertionMode(InsertionMode::AfterAfterFrameset);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> // Fall through.
</span><del>- case AfterAfterFramesetMode:
- ASSERT(insertionMode() == AfterFramesetMode || insertionMode() == AfterAfterFramesetMode);
</del><ins>+ case InsertionMode::AfterAfterFrameset:
+ ASSERT(insertionMode() == InsertionMode::AfterFrameset || insertionMode() == InsertionMode::AfterAfterFrameset);
</ins><span class="cx"> parseError(token);
</span><span class="cx"> break;
</span><del>- case InSelectInTableMode:
- ASSERT(insertionMode() == InSelectInTableMode);
</del><ins>+ case InsertionMode::InSelectInTable:
+ ASSERT(insertionMode() == InsertionMode::InSelectInTable);
</ins><span class="cx"> if (token->name() == captionTag
</span><span class="cx"> || token->name() == tableTag
</span><span class="cx"> || isTableBodyContextTag(token->name())
</span><span class="lines">@@ -2271,8 +2271,8 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> // Fall through.
</span><del>- case InSelectMode:
- ASSERT(insertionMode() == InSelectMode || insertionMode() == InSelectInTableMode);
</del><ins>+ case InsertionMode::InSelect:
+ ASSERT(insertionMode() == InsertionMode::InSelect || insertionMode() == InsertionMode::InSelectInTable);
</ins><span class="cx"> if (token->name() == optgroupTag) {
</span><span class="cx"> if (isHTMLOptionElement(m_tree.currentStackItem()->node()) && m_tree.oneBelowTop() && isHTMLOptGroupElement(m_tree.oneBelowTop()->node()))
</span><span class="cx"> processFakeEndTag(optionTag);
</span><span class="lines">@@ -2308,11 +2308,11 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> break;
</span><del>- case InTableTextMode:
</del><ins>+ case InsertionMode::InTableText:
</ins><span class="cx"> defaultForInTableText();
</span><span class="cx"> processEndTag(token);
</span><span class="cx"> break;
</span><del>- case TemplateContentsMode:
</del><ins>+ case InsertionMode::TemplateContents:
</ins><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="cx"> if (token->name() == templateTag) {
</span><span class="cx"> processTemplateEndTag(token);
</span><span class="lines">@@ -2330,18 +2330,18 @@
</span><span class="cx"> void HTMLTreeBuilder::processComment(AtomicHTMLToken* token)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(token->type() == HTMLToken::Comment);
</span><del>- if (m_insertionMode == InitialMode
- || m_insertionMode == BeforeHTMLMode
- || m_insertionMode == AfterAfterBodyMode
- || m_insertionMode == AfterAfterFramesetMode) {
</del><ins>+ if (m_insertionMode == InsertionMode::Initial
+ || m_insertionMode == InsertionMode::BeforeHTML
+ || m_insertionMode == InsertionMode::AfterAfterBody
+ || m_insertionMode == InsertionMode::AfterAfterFrameset) {
</ins><span class="cx"> m_tree.insertCommentOnDocument(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- if (m_insertionMode == AfterBodyMode) {
</del><ins>+ if (m_insertionMode == InsertionMode::AfterBody) {
</ins><span class="cx"> m_tree.insertCommentOnHTMLHtmlElement(token);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- if (m_insertionMode == InTableTextMode) {
</del><ins>+ if (m_insertionMode == InsertionMode::InTableText) {
</ins><span class="cx"> defaultForInTableText();
</span><span class="cx"> processComment(token);
</span><span class="cx"> return;
</span><span class="lines">@@ -2469,32 +2469,32 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> switch (insertionMode()) {
</span><del>- case InitialMode: {
- ASSERT(insertionMode() == InitialMode);
</del><ins>+ case InsertionMode::Initial: {
+ ASSERT(insertionMode() == InsertionMode::Initial);
</ins><span class="cx"> buffer.skipLeadingWhitespace();
</span><span class="cx"> if (buffer.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> defaultForInitial();
</span><span class="cx"> // Fall through.
</span><span class="cx"> }
</span><del>- case BeforeHTMLMode: {
- ASSERT(insertionMode() == BeforeHTMLMode);
</del><ins>+ case InsertionMode::BeforeHTML: {
+ ASSERT(insertionMode() == InsertionMode::BeforeHTML);
</ins><span class="cx"> buffer.skipLeadingWhitespace();
</span><span class="cx"> if (buffer.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> defaultForBeforeHTML();
</span><span class="cx"> // Fall through.
</span><span class="cx"> }
</span><del>- case BeforeHeadMode: {
- ASSERT(insertionMode() == BeforeHeadMode);
</del><ins>+ case InsertionMode::BeforeHead: {
+ ASSERT(insertionMode() == InsertionMode::BeforeHead);
</ins><span class="cx"> buffer.skipLeadingWhitespace();
</span><span class="cx"> if (buffer.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> defaultForBeforeHead();
</span><span class="cx"> // Fall through.
</span><span class="cx"> }
</span><del>- case InHeadMode: {
- ASSERT(insertionMode() == InHeadMode);
</del><ins>+ case InsertionMode::InHead: {
+ ASSERT(insertionMode() == InsertionMode::InHead);
</ins><span class="cx"> String leadingWhitespace = buffer.takeLeadingWhitespace();
</span><span class="cx"> if (!leadingWhitespace.isEmpty())
</span><span class="cx"> m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
</span><span class="lines">@@ -2503,8 +2503,8 @@
</span><span class="cx"> defaultForInHead();
</span><span class="cx"> // Fall through.
</span><span class="cx"> }
</span><del>- case AfterHeadMode: {
- ASSERT(insertionMode() == AfterHeadMode);
</del><ins>+ case InsertionMode::AfterHead: {
+ ASSERT(insertionMode() == InsertionMode::AfterHead);
</ins><span class="cx"> String leadingWhitespace = buffer.takeLeadingWhitespace();
</span><span class="cx"> if (!leadingWhitespace.isEmpty())
</span><span class="cx"> m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
</span><span class="lines">@@ -2513,23 +2513,23 @@
</span><span class="cx"> defaultForAfterHead();
</span><span class="cx"> // Fall through.
</span><span class="cx"> }
</span><del>- case InBodyMode:
- case InCaptionMode:
- case TemplateContentsMode:
- case InCellMode: {
</del><ins>+ case InsertionMode::InBody:
+ case InsertionMode::InCaption:
+ case InsertionMode::TemplateContents:
+ case InsertionMode::InCell: {
</ins><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><del>- ASSERT(insertionMode() == InBodyMode || insertionMode() == InCaptionMode || insertionMode() == InCellMode || insertionMode() == TemplateContentsMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InBody || insertionMode() == InsertionMode::InCaption || insertionMode() == InsertionMode::InCell || insertionMode() == InsertionMode::TemplateContents);
</ins><span class="cx"> #else
</span><del>- ASSERT(insertionMode() != TemplateContentsMode);
- ASSERT(insertionMode() == InBodyMode || insertionMode() == InCaptionMode || insertionMode() == InCellMode);
</del><ins>+ ASSERT(insertionMode() != InsertionMode::TemplateContents);
+ ASSERT(insertionMode() == InsertionMode::InBody || insertionMode() == InsertionMode::InCaption || insertionMode() == InsertionMode::InCell);
</ins><span class="cx"> #endif
</span><span class="cx"> processCharacterBufferForInBody(buffer);
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case InTableMode:
- case InTableBodyMode:
- case InRowMode: {
- ASSERT(insertionMode() == InTableMode || insertionMode() == InTableBodyMode || insertionMode() == InRowMode);
</del><ins>+ case InsertionMode::InTable:
+ case InsertionMode::InTableBody:
+ case InsertionMode::InRow: {
+ ASSERT(insertionMode() == InsertionMode::InTable || insertionMode() == InsertionMode::InTableBody || insertionMode() == InsertionMode::InRow);
</ins><span class="cx"> ASSERT(m_pendingTableCharacters.isEmpty());
</span><span class="cx"> if (m_tree.currentStackItem()->isElementNode()
</span><span class="cx"> && (isHTMLTableElement(m_tree.currentStackItem()->node())
</span><span class="lines">@@ -2538,8 +2538,8 @@
</span><span class="cx"> || m_tree.currentStackItem()->hasTagName(HTMLNames::theadTag)
</span><span class="cx"> || m_tree.currentStackItem()->hasTagName(HTMLNames::trTag))) {
</span><span class="cx"> m_originalInsertionMode = m_insertionMode;
</span><del>- setInsertionMode(InTableTextMode);
- // Note that we fall through to the InTableTextMode case below.
</del><ins>+ setInsertionMode(InsertionMode::InTableText);
+ // Note that we fall through to the InsertionMode::InTableText case below.
</ins><span class="cx"> } else {
</span><span class="cx"> HTMLConstructionSite::RedirectToFosterParentGuard redirecter(m_tree);
</span><span class="cx"> processCharacterBufferForInBody(buffer);
</span><span class="lines">@@ -2547,12 +2547,12 @@
</span><span class="cx"> }
</span><span class="cx"> // Fall through.
</span><span class="cx"> }
</span><del>- case InTableTextMode: {
</del><ins>+ case InsertionMode::InTableText: {
</ins><span class="cx"> buffer.giveRemainingTo(m_pendingTableCharacters);
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case InColumnGroupMode: {
- ASSERT(insertionMode() == InColumnGroupMode);
</del><ins>+ case InsertionMode::InColumnGroup: {
+ ASSERT(insertionMode() == InsertionMode::InColumnGroup);
</ins><span class="cx"> String leadingWhitespace = buffer.takeLeadingWhitespace();
</span><span class="cx"> if (!leadingWhitespace.isEmpty())
</span><span class="cx"> m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
</span><span class="lines">@@ -2567,21 +2567,21 @@
</span><span class="cx"> }
</span><span class="cx"> goto ReprocessBuffer;
</span><span class="cx"> }
</span><del>- case AfterBodyMode:
- case AfterAfterBodyMode: {
- ASSERT(insertionMode() == AfterBodyMode || insertionMode() == AfterAfterBodyMode);
</del><ins>+ case InsertionMode::AfterBody:
+ case InsertionMode::AfterAfterBody: {
+ ASSERT(insertionMode() == InsertionMode::AfterBody || insertionMode() == InsertionMode::AfterAfterBody);
</ins><span class="cx"> // FIXME: parse error
</span><del>- setInsertionMode(InBodyMode);
</del><ins>+ setInsertionMode(InsertionMode::InBody);
</ins><span class="cx"> goto ReprocessBuffer;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case TextMode: {
- ASSERT(insertionMode() == TextMode);
</del><ins>+ case InsertionMode::Text: {
+ ASSERT(insertionMode() == InsertionMode::Text);
</ins><span class="cx"> m_tree.insertTextNode(buffer.takeRemaining());
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case InHeadNoscriptMode: {
- ASSERT(insertionMode() == InHeadNoscriptMode);
</del><ins>+ case InsertionMode::InHeadNoscript: {
+ ASSERT(insertionMode() == InsertionMode::InHeadNoscript);
</ins><span class="cx"> String leadingWhitespace = buffer.takeLeadingWhitespace();
</span><span class="cx"> if (!leadingWhitespace.isEmpty())
</span><span class="cx"> m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
</span><span class="lines">@@ -2591,9 +2591,9 @@
</span><span class="cx"> goto ReprocessBuffer;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case InFramesetMode:
- case AfterFramesetMode: {
- ASSERT(insertionMode() == InFramesetMode || insertionMode() == AfterFramesetMode || insertionMode() == AfterAfterFramesetMode);
</del><ins>+ case InsertionMode::InFrameset:
+ case InsertionMode::AfterFrameset: {
+ ASSERT(insertionMode() == InsertionMode::InFrameset || insertionMode() == InsertionMode::AfterFrameset || insertionMode() == InsertionMode::AfterAfterFrameset);
</ins><span class="cx"> String leadingWhitespace = buffer.takeRemainingWhitespace();
</span><span class="cx"> if (!leadingWhitespace.isEmpty())
</span><span class="cx"> m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
</span><span class="lines">@@ -2601,13 +2601,13 @@
</span><span class="cx"> // non-whitespace characters.
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case InSelectInTableMode:
- case InSelectMode: {
- ASSERT(insertionMode() == InSelectMode || insertionMode() == InSelectInTableMode);
</del><ins>+ case InsertionMode::InSelectInTable:
+ case InsertionMode::InSelect: {
+ ASSERT(insertionMode() == InsertionMode::InSelect || insertionMode() == InsertionMode::InSelectInTable);
</ins><span class="cx"> m_tree.insertTextNode(buffer.takeRemaining());
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case AfterAfterFramesetMode: {
</del><ins>+ case InsertionMode::AfterAfterFrameset: {
</ins><span class="cx"> String leadingWhitespace = buffer.takeRemainingWhitespace();
</span><span class="cx"> if (!leadingWhitespace.isEmpty()) {
</span><span class="cx"> m_tree.reconstructTheActiveFormattingElements();
</span><span class="lines">@@ -2641,35 +2641,35 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(token->type() == HTMLToken::EndOfFile);
</span><span class="cx"> switch (insertionMode()) {
</span><del>- case InitialMode:
- ASSERT(insertionMode() == InitialMode);
</del><ins>+ case InsertionMode::Initial:
+ ASSERT(insertionMode() == InsertionMode::Initial);
</ins><span class="cx"> defaultForInitial();
</span><span class="cx"> // Fall through.
</span><del>- case BeforeHTMLMode:
- ASSERT(insertionMode() == BeforeHTMLMode);
</del><ins>+ case InsertionMode::BeforeHTML:
+ ASSERT(insertionMode() == InsertionMode::BeforeHTML);
</ins><span class="cx"> defaultForBeforeHTML();
</span><span class="cx"> // Fall through.
</span><del>- case BeforeHeadMode:
- ASSERT(insertionMode() == BeforeHeadMode);
</del><ins>+ case InsertionMode::BeforeHead:
+ ASSERT(insertionMode() == InsertionMode::BeforeHead);
</ins><span class="cx"> defaultForBeforeHead();
</span><span class="cx"> // Fall through.
</span><del>- case InHeadMode:
- ASSERT(insertionMode() == InHeadMode);
</del><ins>+ case InsertionMode::InHead:
+ ASSERT(insertionMode() == InsertionMode::InHead);
</ins><span class="cx"> defaultForInHead();
</span><span class="cx"> // Fall through.
</span><del>- case AfterHeadMode:
- ASSERT(insertionMode() == AfterHeadMode);
</del><ins>+ case InsertionMode::AfterHead:
+ ASSERT(insertionMode() == InsertionMode::AfterHead);
</ins><span class="cx"> defaultForAfterHead();
</span><span class="cx"> // Fall through
</span><del>- case InBodyMode:
- case InCellMode:
- case InCaptionMode:
- case InRowMode:
</del><ins>+ case InsertionMode::InBody:
+ case InsertionMode::InCell:
+ case InsertionMode::InCaption:
+ case InsertionMode::InRow:
</ins><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><del>- ASSERT(insertionMode() == InBodyMode || insertionMode() == InCellMode || insertionMode() == InCaptionMode || insertionMode() == InRowMode || insertionMode() == TemplateContentsMode);
</del><ins>+ ASSERT(insertionMode() == InsertionMode::InBody || insertionMode() == InsertionMode::InCell || insertionMode() == InsertionMode::InCaption || insertionMode() == InsertionMode::InRow || insertionMode() == InsertionMode::TemplateContents);
</ins><span class="cx"> #else
</span><del>- ASSERT(insertionMode() != TemplateContentsMode);
- ASSERT(insertionMode() == InBodyMode || insertionMode() == InCellMode || insertionMode() == InCaptionMode || insertionMode() == InRowMode);
</del><ins>+ ASSERT(insertionMode() != InsertionMode::TemplateContents);
+ ASSERT(insertionMode() == InsertionMode::InBody || insertionMode() == InsertionMode::InCell || insertionMode() == InsertionMode::InCaption || insertionMode() == InsertionMode::InRow);
</ins><span class="cx"> #endif
</span><span class="cx"> notImplemented(); // Emit parse error based on what elements are still open.
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="lines">@@ -2678,20 +2678,20 @@
</span><span class="cx"> return;
</span><span class="cx"> #endif
</span><span class="cx"> break;
</span><del>- case AfterBodyMode:
- case AfterAfterBodyMode:
- ASSERT(insertionMode() == AfterBodyMode || insertionMode() == AfterAfterBodyMode);
</del><ins>+ case InsertionMode::AfterBody:
+ case InsertionMode::AfterAfterBody:
+ ASSERT(insertionMode() == InsertionMode::AfterBody || insertionMode() == InsertionMode::AfterAfterBody);
</ins><span class="cx"> break;
</span><del>- case InHeadNoscriptMode:
- ASSERT(insertionMode() == InHeadNoscriptMode);
</del><ins>+ case InsertionMode::InHeadNoscript:
+ ASSERT(insertionMode() == InsertionMode::InHeadNoscript);
</ins><span class="cx"> defaultForInHeadNoscript();
</span><span class="cx"> processEndOfFile(token);
</span><span class="cx"> return;
</span><del>- case AfterFramesetMode:
- case AfterAfterFramesetMode:
- ASSERT(insertionMode() == AfterFramesetMode || insertionMode() == AfterAfterFramesetMode);
</del><ins>+ case InsertionMode::AfterFrameset:
+ case InsertionMode::AfterAfterFrameset:
+ ASSERT(insertionMode() == InsertionMode::AfterFrameset || insertionMode() == InsertionMode::AfterAfterFrameset);
</ins><span class="cx"> break;
</span><del>- case InColumnGroupMode:
</del><ins>+ case InsertionMode::InColumnGroup:
</ins><span class="cx"> if (m_tree.currentIsRootNode()) {
</span><span class="cx"> ASSERT(isParsingFragment());
</span><span class="cx"> return; // FIXME: Should we break here instead of returning?
</span><span class="lines">@@ -2703,12 +2703,12 @@
</span><span class="cx"> #endif
</span><span class="cx"> processColgroupEndTagForInColumnGroup();
</span><span class="cx"> // Fall through
</span><del>- case InFramesetMode:
- case InTableMode:
- case InTableBodyMode:
- case InSelectInTableMode:
- case InSelectMode:
- ASSERT(insertionMode() == InSelectMode || insertionMode() == InSelectInTableMode || insertionMode() == InTableMode || insertionMode() == InFramesetMode || insertionMode() == InTableBodyMode || insertionMode() == InColumnGroupMode);
</del><ins>+ case InsertionMode::InFrameset:
+ case InsertionMode::InTable:
+ case InsertionMode::InTableBody:
+ case InsertionMode::InSelectInTable:
+ case InsertionMode::InSelect:
+ ASSERT(insertionMode() == InsertionMode::InSelect || insertionMode() == InsertionMode::InSelectInTable || insertionMode() == InsertionMode::InTable || insertionMode() == InsertionMode::InFrameset || insertionMode() == InsertionMode::InTableBody || insertionMode() == InsertionMode::InColumnGroup);
</ins><span class="cx"> if (m_tree.currentNode() != m_tree.openElements()->rootNode())
</span><span class="cx"> parseError(token);
</span><span class="cx">
</span><span class="lines">@@ -2718,20 +2718,20 @@
</span><span class="cx"> return;
</span><span class="cx"> #endif
</span><span class="cx"> break;
</span><del>- case InTableTextMode:
</del><ins>+ case InsertionMode::InTableText:
</ins><span class="cx"> defaultForInTableText();
</span><span class="cx"> processEndOfFile(token);
</span><span class="cx"> return;
</span><del>- case TextMode:
</del><ins>+ case InsertionMode::Text:
</ins><span class="cx"> parseError(token);
</span><span class="cx"> if (m_tree.currentStackItem()->hasTagName(scriptTag))
</span><span class="cx"> notImplemented(); // mark the script element as "already started".
</span><span class="cx"> m_tree.openElements()->pop();
</span><del>- ASSERT(m_originalInsertionMode != TextMode);
</del><ins>+ ASSERT(m_originalInsertionMode != InsertionMode::Text);
</ins><span class="cx"> setInsertionMode(m_originalInsertionMode);
</span><span class="cx"> processEndOfFile(token);
</span><span class="cx"> return;
</span><del>- case TemplateContentsMode:
</del><ins>+ case InsertionMode::TemplateContents:
</ins><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="cx"> if (processEndOfFileForInTemplateContents(token))
</span><span class="cx"> return;
</span><span class="lines">@@ -2749,14 +2749,14 @@
</span><span class="cx"> notImplemented();
</span><span class="cx"> m_tree.setDefaultCompatibilityMode();
</span><span class="cx"> // FIXME: parse error
</span><del>- setInsertionMode(BeforeHTMLMode);
</del><ins>+ setInsertionMode(InsertionMode::BeforeHTML);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLTreeBuilder::defaultForBeforeHTML()
</span><span class="cx"> {
</span><span class="cx"> AtomicHTMLToken startHTML(HTMLToken::StartTag, htmlTag.localName());
</span><span class="cx"> m_tree.insertHTMLHtmlStartTagBeforeHTML(&startHTML);
</span><del>- setInsertionMode(BeforeHeadMode);
</del><ins>+ setInsertionMode(InsertionMode::BeforeHead);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLTreeBuilder::defaultForBeforeHead()
</span><span class="lines">@@ -2828,7 +2828,7 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> m_tree.insertHTMLElement(token);
</span><del>- setInsertionMode(InHeadNoscriptMode);
</del><ins>+ setInsertionMode(InsertionMode::InHeadNoscript);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == noframesTag || token->name() == styleTag) {
</span><span class="lines">@@ -2861,7 +2861,7 @@
</span><span class="cx"> if (m_parser.tokenizer())
</span><span class="cx"> m_parser.tokenizer()->setState(HTMLTokenizer::RCDATAState);
</span><span class="cx"> m_originalInsertionMode = m_insertionMode;
</span><del>- setInsertionMode(TextMode);
</del><ins>+ setInsertionMode(InsertionMode::Text);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLTreeBuilder::processGenericRawTextStartTag(AtomicHTMLToken* token)
</span><span class="lines">@@ -2871,7 +2871,7 @@
</span><span class="cx"> if (m_parser.tokenizer())
</span><span class="cx"> m_parser.tokenizer()->setState(HTMLTokenizer::RAWTEXTState);
</span><span class="cx"> m_originalInsertionMode = m_insertionMode;
</span><del>- setInsertionMode(TextMode);
</del><ins>+ setInsertionMode(InsertionMode::Text);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLTreeBuilder::processScriptStartTag(AtomicHTMLToken* token)
</span><span class="lines">@@ -2886,7 +2886,7 @@
</span><span class="cx">
</span><span class="cx"> m_scriptToProcessStartPosition = position;
</span><span class="cx">
</span><del>- setInsertionMode(TextMode);
</del><ins>+ setInsertionMode(InsertionMode::Text);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#tree-construction
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTreeBuilderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h (162292 => 162293)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h        2014-01-19 18:42:01 UTC (rev 162292)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h        2014-01-19 19:00:27 UTC (rev 162293)
</span><span class="lines">@@ -88,30 +88,30 @@
</span><span class="cx"> class ExternalCharacterTokenBuffer;
</span><span class="cx"> // Represents HTML5 "insertion mode"
</span><span class="cx"> // http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#insertion-mode
</span><del>- enum InsertionMode {
- InitialMode,
- BeforeHTMLMode,
- BeforeHeadMode,
- InHeadMode,
- InHeadNoscriptMode,
- AfterHeadMode,
- TemplateContentsMode,
- InBodyMode,
- TextMode,
- InTableMode,
- InTableTextMode,
- InCaptionMode,
- InColumnGroupMode,
- InTableBodyMode,
- InRowMode,
- InCellMode,
- InSelectMode,
- InSelectInTableMode,
- AfterBodyMode,
- InFramesetMode,
- AfterFramesetMode,
- AfterAfterBodyMode,
- AfterAfterFramesetMode,
</del><ins>+ enum class InsertionMode {
+ Initial,
+ BeforeHTML,
+ BeforeHead,
+ InHead,
+ InHeadNoscript,
+ AfterHead,
+ TemplateContents,
+ InBody,
+ Text,
+ InTable,
+ InTableText,
+ InCaption,
+ InColumnGroup,
+ InTableBody,
+ InRow,
+ InCell,
+ InSelect,
+ InSelectInTable,
+ AfterBody,
+ InFrameset,
+ AfterFrameset,
+ AfterAfterBody,
+ AfterAfterFrameset,
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre>
</div>
</div>
</body>
</html>