| Index: third_party/WebKit/Source/core/html/parser/HTMLTreeBuilder.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/parser/HTMLTreeBuilder.cpp b/third_party/WebKit/Source/core/html/parser/HTMLTreeBuilder.cpp
|
| index f42fb4e0df901385d1afbbe97bd27dbda784d5ae..628b4ae7eb2afeb72930bf2964c8b51e73191bbf 100644
|
| --- a/third_party/WebKit/Source/core/html/parser/HTMLTreeBuilder.cpp
|
| +++ b/third_party/WebKit/Source/core/html/parser/HTMLTreeBuilder.cpp
|
| @@ -116,22 +116,22 @@ class HTMLTreeBuilder::CharacterTokenBuffer {
|
| : m_characters(token->characters().impl()),
|
| m_current(0),
|
| m_end(token->characters().length()) {
|
| - ASSERT(!isEmpty());
|
| + DCHECK(!isEmpty());
|
| }
|
|
|
| explicit CharacterTokenBuffer(const String& characters)
|
| : m_characters(characters.impl()),
|
| m_current(0),
|
| m_end(characters.length()) {
|
| - ASSERT(!isEmpty());
|
| + DCHECK(!isEmpty());
|
| }
|
|
|
| - ~CharacterTokenBuffer() { ASSERT(isEmpty()); }
|
| + ~CharacterTokenBuffer() { DCHECK(isEmpty()); }
|
|
|
| bool isEmpty() const { return m_current == m_end; }
|
|
|
| void skipAtMostOneLeadingNewline() {
|
| - ASSERT(!isEmpty());
|
| + DCHECK(!isEmpty());
|
| if ((*m_characters)[m_current] == '\n')
|
| ++m_current;
|
| }
|
| @@ -147,7 +147,7 @@ class HTMLTreeBuilder::CharacterTokenBuffer {
|
| void skipRemaining() { m_current = m_end; }
|
|
|
| StringView takeRemaining() {
|
| - ASSERT(!isEmpty());
|
| + DCHECK(!isEmpty());
|
| unsigned start = m_current;
|
| m_current = m_end;
|
| return StringView(m_characters.get(), start, m_end - start);
|
| @@ -164,7 +164,7 @@ class HTMLTreeBuilder::CharacterTokenBuffer {
|
| }
|
|
|
| String takeRemainingWhitespace() {
|
| - ASSERT(!isEmpty());
|
| + DCHECK(!isEmpty());
|
| const unsigned start = m_current;
|
| m_current = m_end; // One way or another, we're taking everything!
|
|
|
| @@ -195,7 +195,7 @@ class HTMLTreeBuilder::CharacterTokenBuffer {
|
| private:
|
| template <bool characterPredicate(UChar)>
|
| void skipLeading() {
|
| - ASSERT(!isEmpty());
|
| + DCHECK(!isEmpty());
|
| while (characterPredicate((*m_characters)[m_current])) {
|
| if (++m_current == m_end)
|
| return;
|
| @@ -204,7 +204,7 @@ class HTMLTreeBuilder::CharacterTokenBuffer {
|
|
|
| template <bool characterPredicate(UChar)>
|
| StringView takeLeading() {
|
| - ASSERT(!isEmpty());
|
| + DCHECK(!isEmpty());
|
| const unsigned start = m_current;
|
| skipLeading<characterPredicate>();
|
| return StringView(m_characters.get(), start, m_current - start);
|
| @@ -238,8 +238,8 @@ HTMLTreeBuilder::HTMLTreeBuilder(HTMLDocumentParser* parser,
|
| fragment->document(),
|
| parserContentPolicy,
|
| options) {
|
| - ASSERT(isMainThread());
|
| - ASSERT(contextElement);
|
| + DCHECK(isMainThread());
|
| + DCHECK(contextElement);
|
| m_tree.initFragmentParsing(fragment, contextElement);
|
| m_fragmentContext.init(fragment, contextElement);
|
|
|
| @@ -292,8 +292,8 @@ void HTMLTreeBuilder::detach() {
|
|
|
| Element* HTMLTreeBuilder::takeScriptToProcess(
|
| TextPosition& scriptStartPosition) {
|
| - ASSERT(m_scriptToProcess);
|
| - ASSERT(!m_tree.hasPendingTasks());
|
| + DCHECK(m_scriptToProcess);
|
| + DCHECK(!m_tree.hasPendingTasks());
|
| // Unpause ourselves, callers may pause us again when processing the script.
|
| // The HTML5 spec is written as though scripts are executed inside the tree
|
| // builder. We pause the parser to exit the tree builder, and then resume
|
| @@ -343,7 +343,7 @@ void HTMLTreeBuilder::processToken(AtomicHTMLToken* token) {
|
| switch (token->type()) {
|
| case HTMLToken::Uninitialized:
|
| case HTMLToken::Character:
|
| - ASSERT_NOT_REACHED();
|
| + NOTREACHED();
|
| break;
|
| case HTMLToken::DOCTYPE:
|
| processDoctypeToken(token);
|
| @@ -364,7 +364,7 @@ void HTMLTreeBuilder::processToken(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processDoctypeToken(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::DOCTYPE);
|
| + DCHECK_EQ(token->type(), HTMLToken::DOCTYPE);
|
| if (m_insertionMode == InitialMode) {
|
| m_tree.insertDoctype(token);
|
| setInsertionMode(BeforeHTMLMode);
|
| @@ -425,7 +425,7 @@ void HTMLTreeBuilder::processCloseWhenNestedTag(AtomicHTMLToken* token) {
|
| while (1) {
|
| HTMLStackItem* item = nodeRecord->stackItem();
|
| if (shouldClose(item)) {
|
| - ASSERT(item->isElementNode());
|
| + DCHECK(item->isElementNode());
|
| processFakeEndTag(item->localName());
|
| break;
|
| }
|
| @@ -533,7 +533,7 @@ static void adjustForeignAttributes(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processStartTagForInBody(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::StartTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::StartTag);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| return;
|
| @@ -552,7 +552,7 @@ void HTMLTreeBuilder::processStartTagForInBody(AtomicHTMLToken* token) {
|
| if (!m_tree.openElements()->secondElementIsHTMLBodyElement() ||
|
| m_tree.openElements()->hasOnlyOneElement() ||
|
| m_tree.openElements()->hasTemplateInHTMLScope()) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| return;
|
| }
|
| m_framesetOk = false;
|
| @@ -563,7 +563,7 @@ void HTMLTreeBuilder::processStartTagForInBody(AtomicHTMLToken* token) {
|
| parseError(token);
|
| if (!m_tree.openElements()->secondElementIsHTMLBodyElement() ||
|
| m_tree.openElements()->hasOnlyOneElement()) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| return;
|
| }
|
| if (!m_framesetOk)
|
| @@ -853,9 +853,9 @@ void HTMLTreeBuilder::processTemplateStartTag(AtomicHTMLToken* token) {
|
| }
|
|
|
| bool HTMLTreeBuilder::processTemplateEndTag(AtomicHTMLToken* token) {
|
| - ASSERT(token->name() == templateTag.localName());
|
| + DCHECK_EQ(token->name(), templateTag.localName());
|
| if (!m_tree.openElements()->hasTemplateInHTMLScope()) {
|
| - ASSERT(m_templateInsertionModes.isEmpty() ||
|
| + DCHECK(m_templateInsertionModes.isEmpty() ||
|
| (m_templateInsertionModes.size() == 1 &&
|
| isHTMLTemplateElement(m_fragmentContext.contextElement())));
|
| parseError(token);
|
| @@ -884,7 +884,7 @@ bool HTMLTreeBuilder::processEndOfFileForInTemplateContents(
|
| bool HTMLTreeBuilder::processColgroupEndTagForInColumnGroup() {
|
| if (m_tree.currentIsRootNode() ||
|
| isHTMLTemplateElement(*m_tree.currentNode())) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| // FIXME: parse error
|
| return false;
|
| }
|
| @@ -895,7 +895,7 @@ bool HTMLTreeBuilder::processColgroupEndTagForInColumnGroup() {
|
|
|
| // http://www.whatwg.org/specs/web-apps/current-work/#adjusted-current-node
|
| HTMLStackItem* HTMLTreeBuilder::adjustedCurrentStackItem() const {
|
| - ASSERT(!m_tree.isEmpty());
|
| + DCHECK(!m_tree.isEmpty());
|
| if (isParsingFragment() && m_tree.openElements()->hasOnlyOneElement())
|
| return m_fragmentContext.contextElementStackItem();
|
|
|
| @@ -904,19 +904,19 @@ HTMLStackItem* HTMLTreeBuilder::adjustedCurrentStackItem() const {
|
|
|
| // http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#close-the-cell
|
| void HTMLTreeBuilder::closeTheCell() {
|
| - ASSERT(getInsertionMode() == InCellMode);
|
| + DCHECK_EQ(getInsertionMode(), InCellMode);
|
| if (m_tree.openElements()->inTableScope(tdTag)) {
|
| - ASSERT(!m_tree.openElements()->inTableScope(thTag));
|
| + DCHECK(!m_tree.openElements()->inTableScope(thTag));
|
| processFakeEndTag(tdTag);
|
| return;
|
| }
|
| - ASSERT(m_tree.openElements()->inTableScope(thTag));
|
| + DCHECK(m_tree.openElements()->inTableScope(thTag));
|
| processFakeEndTag(thTag);
|
| - ASSERT(getInsertionMode() == InRowMode);
|
| + DCHECK_EQ(getInsertionMode(), InRowMode);
|
| }
|
|
|
| void HTMLTreeBuilder::processStartTagForInTable(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::StartTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::StartTag);
|
| if (token->name() == captionTag) {
|
| m_tree.openElements()->popUntilTableScopeMarker();
|
| m_tree.activeFormattingElements()->appendMarker();
|
| @@ -932,7 +932,7 @@ void HTMLTreeBuilder::processStartTagForInTable(AtomicHTMLToken* token) {
|
| }
|
| if (token->name() == colTag) {
|
| processFakeStartTag(colgroupTag);
|
| - ASSERT(InColumnGroupMode);
|
| + DCHECK(InColumnGroupMode);
|
| processStartTag(token);
|
| return;
|
| }
|
| @@ -944,14 +944,14 @@ void HTMLTreeBuilder::processStartTagForInTable(AtomicHTMLToken* token) {
|
| }
|
| if (isTableCellContextTag(token->name()) || token->name() == trTag) {
|
| processFakeStartTag(tbodyTag);
|
| - ASSERT(getInsertionMode() == InTableBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), InTableBodyMode);
|
| processStartTag(token);
|
| return;
|
| }
|
| if (token->name() == tableTag) {
|
| parseError(token);
|
| if (!processTableEndTagForInTable()) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| return;
|
| }
|
| processStartTag(token);
|
| @@ -988,14 +988,14 @@ void HTMLTreeBuilder::processStartTagForInTable(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::StartTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::StartTag);
|
| switch (getInsertionMode()) {
|
| case InitialMode:
|
| - ASSERT(getInsertionMode() == InitialMode);
|
| + DCHECK_EQ(getInsertionMode(), InitialMode);
|
| defaultForInitial();
|
| // Fall through.
|
| case BeforeHTMLMode:
|
| - ASSERT(getInsertionMode() == BeforeHTMLMode);
|
| + DCHECK_EQ(getInsertionMode(), BeforeHTMLMode);
|
| if (token->name() == htmlTag) {
|
| m_tree.insertHTMLHtmlStartTagBeforeHTML(token);
|
| setInsertionMode(BeforeHeadMode);
|
| @@ -1004,7 +1004,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| defaultForBeforeHTML();
|
| // Fall through.
|
| case BeforeHeadMode:
|
| - ASSERT(getInsertionMode() == BeforeHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), BeforeHeadMode);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| return;
|
| @@ -1017,13 +1017,13 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| defaultForBeforeHead();
|
| // Fall through.
|
| case InHeadMode:
|
| - ASSERT(getInsertionMode() == InHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), InHeadMode);
|
| if (processStartTagForInHead(token))
|
| return;
|
| defaultForInHead();
|
| // Fall through.
|
| case AfterHeadMode:
|
| - ASSERT(getInsertionMode() == AfterHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), AfterHeadMode);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| return;
|
| @@ -1045,7 +1045,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| token->name() == scriptTag || token->name() == styleTag ||
|
| token->name() == templateTag || token->name() == titleTag) {
|
| parseError(token);
|
| - ASSERT(m_tree.head());
|
| + DCHECK(m_tree.head());
|
| m_tree.openElements()->pushHTMLHeadElement(m_tree.headStackItem());
|
| processStartTagForInHead(token);
|
| m_tree.openElements()->removeHTMLHeadElement(m_tree.head());
|
| @@ -1058,21 +1058,21 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| defaultForAfterHead();
|
| // Fall through
|
| case InBodyMode:
|
| - ASSERT(getInsertionMode() == InBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), InBodyMode);
|
| processStartTagForInBody(token);
|
| break;
|
| case InTableMode:
|
| - ASSERT(getInsertionMode() == InTableMode);
|
| + DCHECK_EQ(getInsertionMode(), InTableMode);
|
| processStartTagForInTable(token);
|
| break;
|
| case InCaptionMode:
|
| - ASSERT(getInsertionMode() == InCaptionMode);
|
| + DCHECK_EQ(getInsertionMode(), InCaptionMode);
|
| if (isCaptionColOrColgroupTag(token->name()) ||
|
| isTableBodyContextTag(token->name()) ||
|
| isTableCellContextTag(token->name()) || token->name() == trTag) {
|
| parseError(token);
|
| if (!processCaptionEndTagForInCaption()) {
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| return;
|
| }
|
| processStartTag(token);
|
| @@ -1081,7 +1081,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| processStartTagForInBody(token);
|
| break;
|
| case InColumnGroupMode:
|
| - ASSERT(getInsertionMode() == InColumnGroupMode);
|
| + DCHECK_EQ(getInsertionMode(), InColumnGroupMode);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| return;
|
| @@ -1095,13 +1095,13 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| return;
|
| }
|
| if (!processColgroupEndTagForInColumnGroup()) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| return;
|
| }
|
| processStartTag(token);
|
| break;
|
| case InTableBodyMode:
|
| - ASSERT(getInsertionMode() == InTableBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), InTableBodyMode);
|
| if (token->name() == trTag) {
|
| // How is there ever anything to pop?
|
| m_tree.openElements()->popUntilTableBodyScopeMarker();
|
| @@ -1112,7 +1112,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| if (isTableCellContextTag(token->name())) {
|
| parseError(token);
|
| processFakeStartTag(trTag);
|
| - ASSERT(getInsertionMode() == InRowMode);
|
| + DCHECK_EQ(getInsertionMode(), InRowMode);
|
| processStartTag(token);
|
| return;
|
| }
|
| @@ -1122,12 +1122,12 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| if (!m_tree.openElements()->inTableScope(tbodyTag) &&
|
| !m_tree.openElements()->inTableScope(theadTag) &&
|
| !m_tree.openElements()->inTableScope(tfootTag)) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| parseError(token);
|
| return;
|
| }
|
| m_tree.openElements()->popUntilTableBodyScopeMarker();
|
| - ASSERT(isTableBodyContextTag(m_tree.currentStackItem()->localName()));
|
| + DCHECK(isTableBodyContextTag(m_tree.currentStackItem()->localName()));
|
| processFakeEndTag(m_tree.currentStackItem()->localName());
|
| processStartTag(token);
|
| return;
|
| @@ -1135,7 +1135,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| processStartTagForInTable(token);
|
| break;
|
| case InRowMode:
|
| - ASSERT(getInsertionMode() == InRowMode);
|
| + DCHECK_EQ(getInsertionMode(), InRowMode);
|
| if (isTableCellContextTag(token->name())) {
|
| m_tree.openElements()->popUntilTableRowScopeMarker();
|
| m_tree.insertHTMLElement(token);
|
| @@ -1146,24 +1146,24 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| if (token->name() == trTag || isCaptionColOrColgroupTag(token->name()) ||
|
| isTableBodyContextTag(token->name())) {
|
| if (!processTrEndTagForInRow()) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| return;
|
| }
|
| - ASSERT(getInsertionMode() == InTableBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), InTableBodyMode);
|
| processStartTag(token);
|
| return;
|
| }
|
| processStartTagForInTable(token);
|
| break;
|
| case InCellMode:
|
| - ASSERT(getInsertionMode() == InCellMode);
|
| + DCHECK_EQ(getInsertionMode(), InCellMode);
|
| if (isCaptionColOrColgroupTag(token->name()) ||
|
| isTableCellContextTag(token->name()) || token->name() == trTag ||
|
| isTableBodyContextTag(token->name())) {
|
| // FIXME: This could be more efficient.
|
| if (!m_tree.openElements()->inTableScope(tdTag) &&
|
| !m_tree.openElements()->inTableScope(thTag)) {
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| parseError(token);
|
| return;
|
| }
|
| @@ -1175,7 +1175,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| break;
|
| case AfterBodyMode:
|
| case AfterAfterBodyMode:
|
| - ASSERT(getInsertionMode() == AfterBodyMode ||
|
| + DCHECK(getInsertionMode() == AfterBodyMode ||
|
| getInsertionMode() == AfterAfterBodyMode);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| @@ -1185,7 +1185,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| processStartTag(token);
|
| break;
|
| case InHeadNoscriptMode:
|
| - ASSERT(getInsertionMode() == InHeadNoscriptMode);
|
| + DCHECK_EQ(getInsertionMode(), InHeadNoscriptMode);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| return;
|
| @@ -1205,7 +1205,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| processToken(token);
|
| break;
|
| case InFramesetMode:
|
| - ASSERT(getInsertionMode() == InFramesetMode);
|
| + DCHECK_EQ(getInsertionMode(), InFramesetMode);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| return;
|
| @@ -1230,7 +1230,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| break;
|
| case AfterFramesetMode:
|
| case AfterAfterFramesetMode:
|
| - ASSERT(getInsertionMode() == AfterFramesetMode ||
|
| + DCHECK(getInsertionMode() == AfterFramesetMode ||
|
| getInsertionMode() == AfterAfterFramesetMode);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| @@ -1243,7 +1243,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| parseError(token);
|
| break;
|
| case InSelectInTableMode:
|
| - ASSERT(getInsertionMode() == InSelectInTableMode);
|
| + DCHECK_EQ(getInsertionMode(), InSelectInTableMode);
|
| if (token->name() == captionTag || token->name() == tableTag ||
|
| isTableBodyContextTag(token->name()) || token->name() == trTag ||
|
| isTableCellContextTag(token->name())) {
|
| @@ -1255,7 +1255,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| }
|
| // Fall through
|
| case InSelectMode:
|
| - ASSERT(getInsertionMode() == InSelectMode ||
|
| + DCHECK(getInsertionMode() == InSelectMode ||
|
| getInsertionMode() == InSelectInTableMode);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| @@ -1292,7 +1292,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| token->name() == textareaTag) {
|
| parseError(token);
|
| if (!m_tree.openElements()->inSelectScope(selectTag)) {
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| return;
|
| }
|
| AtomicHTMLToken endSelect(HTMLToken::EndTag, selectTag.localName());
|
| @@ -1315,7 +1315,7 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| processStartTag(token);
|
| break;
|
| case TextMode:
|
| - ASSERT_NOT_REACHED();
|
| + NOTREACHED();
|
| break;
|
| case TemplateContentsMode:
|
| if (token->name() == templateTag) {
|
| @@ -1344,8 +1344,8 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| else
|
| insertionMode = InBodyMode;
|
|
|
| - ASSERT(insertionMode != TemplateContentsMode);
|
| - ASSERT(m_templateInsertionModes.back() == TemplateContentsMode);
|
| + DCHECK_NE(insertionMode, TemplateContentsMode);
|
| + DCHECK_EQ(m_templateInsertionModes.back(), TemplateContentsMode);
|
| m_templateInsertionModes.back() = insertionMode;
|
| setInsertionMode(insertionMode);
|
|
|
| @@ -1357,15 +1357,15 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken* token) {
|
| void HTMLTreeBuilder::processHtmlStartTagForInBody(AtomicHTMLToken* token) {
|
| parseError(token);
|
| if (m_tree.openElements()->hasTemplateInHTMLScope()) {
|
| - ASSERT(isParsingTemplateContents());
|
| + DCHECK(isParsingTemplateContents());
|
| return;
|
| }
|
| m_tree.insertHTMLHtmlStartTagInBody(token);
|
| }
|
|
|
| bool HTMLTreeBuilder::processBodyEndTagForInBody(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndTag);
|
| - ASSERT(token->name() == bodyTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndTag);
|
| + DCHECK(token->name() == bodyTag);
|
| if (!m_tree.openElements()->inScope(bodyTag.localName())) {
|
| parseError(token);
|
| return false;
|
| @@ -1377,7 +1377,7 @@ bool HTMLTreeBuilder::processBodyEndTagForInBody(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processAnyOtherEndTagForInBody(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndTag);
|
| if (token->name() == menuitemTag)
|
| UseCounter::count(m_tree.currentNode()->document(),
|
| UseCounter::MenuItemCloseTag);
|
| @@ -1447,7 +1447,7 @@ void HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken* token) {
|
| return;
|
| }
|
| // 7.
|
| - ASSERT(furthestBlock->isAbove(formattingElementRecord));
|
| + DCHECK(furthestBlock->isAbove(formattingElementRecord));
|
| HTMLStackItem* commonAncestor =
|
| formattingElementRecord->next()->stackItem();
|
| // 8.
|
| @@ -1461,7 +1461,7 @@ void HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken* token) {
|
| for (int i = 0; i < innerIterationLimit; ++i) {
|
| // 9.4
|
| node = nextNode;
|
| - ASSERT(node);
|
| + DCHECK(node);
|
| // Save node->next() for the next iteration in case node is deleted in
|
| // 9.5.
|
| nextNode = node->next();
|
| @@ -1564,11 +1564,11 @@ void HTMLTreeBuilder::resetInsertionModeAppropriately() {
|
| if (m_tree.headStackItem())
|
| return setInsertionMode(AfterHeadMode);
|
|
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| return setInsertionMode(BeforeHeadMode);
|
| }
|
| if (last) {
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| return setInsertionMode(InBodyMode);
|
| }
|
| nodeRecord = nodeRecord->next();
|
| @@ -1576,7 +1576,7 @@ void HTMLTreeBuilder::resetInsertionModeAppropriately() {
|
| }
|
|
|
| void HTMLTreeBuilder::processEndTagForInTableBody(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndTag);
|
| if (isTableBodyContextTag(token->name())) {
|
| if (!m_tree.openElements()->inTableScope(token->name())) {
|
| parseError(token);
|
| @@ -1592,12 +1592,12 @@ void HTMLTreeBuilder::processEndTagForInTableBody(AtomicHTMLToken* token) {
|
| if (!m_tree.openElements()->inTableScope(tbodyTag) &&
|
| !m_tree.openElements()->inTableScope(theadTag) &&
|
| !m_tree.openElements()->inTableScope(tfootTag)) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| parseError(token);
|
| return;
|
| }
|
| m_tree.openElements()->popUntilTableBodyScopeMarker();
|
| - ASSERT(isTableBodyContextTag(m_tree.currentStackItem()->localName()));
|
| + DCHECK(isTableBodyContextTag(m_tree.currentStackItem()->localName()));
|
| processFakeEndTag(m_tree.currentStackItem()->localName());
|
| processEndTag(token);
|
| return;
|
| @@ -1612,17 +1612,17 @@ void HTMLTreeBuilder::processEndTagForInTableBody(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processEndTagForInRow(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndTag);
|
| if (token->name() == trTag) {
|
| processTrEndTagForInRow();
|
| return;
|
| }
|
| if (token->name() == tableTag) {
|
| if (!processTrEndTagForInRow()) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| return;
|
| }
|
| - ASSERT(getInsertionMode() == InTableBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), InTableBodyMode);
|
| processEndTag(token);
|
| return;
|
| }
|
| @@ -1632,7 +1632,7 @@ void HTMLTreeBuilder::processEndTagForInRow(AtomicHTMLToken* token) {
|
| return;
|
| }
|
| processFakeEndTag(trTag);
|
| - ASSERT(getInsertionMode() == InTableBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), InTableBodyMode);
|
| processEndTag(token);
|
| return;
|
| }
|
| @@ -1645,7 +1645,7 @@ void HTMLTreeBuilder::processEndTagForInRow(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processEndTagForInCell(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndTag);
|
| if (isTableCellContextTag(token->name())) {
|
| if (!m_tree.openElements()->inTableScope(token->name())) {
|
| parseError(token);
|
| @@ -1667,7 +1667,7 @@ void HTMLTreeBuilder::processEndTagForInCell(AtomicHTMLToken* token) {
|
| if (token->name() == tableTag || token->name() == trTag ||
|
| isTableBodyContextTag(token->name())) {
|
| if (!m_tree.openElements()->inTableScope(token->name())) {
|
| - ASSERT(isTableBodyContextTag(token->name()) ||
|
| + DCHECK(isTableBodyContextTag(token->name()) ||
|
| m_tree.openElements()->inTableScope(templateTag) ||
|
| isParsingFragment());
|
| parseError(token);
|
| @@ -1681,7 +1681,7 @@ void HTMLTreeBuilder::processEndTagForInCell(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processEndTagForInBody(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndTag);
|
| if (token->name() == bodyTag) {
|
| processBodyEndTagForInBody(token);
|
| return;
|
| @@ -1730,7 +1730,7 @@ void HTMLTreeBuilder::processEndTagForInBody(AtomicHTMLToken* token) {
|
| if (!m_tree.openElements()->inButtonScope(token->name())) {
|
| parseError(token);
|
| processFakeStartTag(pTag);
|
| - ASSERT(m_tree.openElements()->inScope(token->name()));
|
| + DCHECK(m_tree.openElements()->inScope(token->name()));
|
| processEndTag(token);
|
| return;
|
| }
|
| @@ -1804,7 +1804,7 @@ void HTMLTreeBuilder::processEndTagForInBody(AtomicHTMLToken* token) {
|
|
|
| bool HTMLTreeBuilder::processCaptionEndTagForInCaption() {
|
| if (!m_tree.openElements()->inTableScope(captionTag.localName())) {
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| // FIXME: parse error
|
| return false;
|
| }
|
| @@ -1818,12 +1818,12 @@ bool HTMLTreeBuilder::processCaptionEndTagForInCaption() {
|
|
|
| bool HTMLTreeBuilder::processTrEndTagForInRow() {
|
| if (!m_tree.openElements()->inTableScope(trTag)) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| // FIXME: parse error
|
| return false;
|
| }
|
| m_tree.openElements()->popUntilTableRowScopeMarker();
|
| - ASSERT(m_tree.currentStackItem()->hasTagName(trTag));
|
| + DCHECK(m_tree.currentStackItem()->hasTagName(trTag));
|
| m_tree.openElements()->pop();
|
| setInsertionMode(InTableBodyMode);
|
| return true;
|
| @@ -1831,7 +1831,7 @@ bool HTMLTreeBuilder::processTrEndTagForInRow() {
|
|
|
| bool HTMLTreeBuilder::processTableEndTagForInTable() {
|
| if (!m_tree.openElements()->inTableScope(tableTag)) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| // FIXME: parse error.
|
| return false;
|
| }
|
| @@ -1841,7 +1841,7 @@ bool HTMLTreeBuilder::processTableEndTagForInTable() {
|
| }
|
|
|
| void HTMLTreeBuilder::processEndTagForInTable(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndTag);
|
| if (token->name() == tableTag) {
|
| processTableEndTagForInTable();
|
| return;
|
| @@ -1859,14 +1859,14 @@ void HTMLTreeBuilder::processEndTagForInTable(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndTag);
|
| switch (getInsertionMode()) {
|
| case InitialMode:
|
| - ASSERT(getInsertionMode() == InitialMode);
|
| + DCHECK_EQ(getInsertionMode(), InitialMode);
|
| defaultForInitial();
|
| // Fall through.
|
| case BeforeHTMLMode:
|
| - ASSERT(getInsertionMode() == BeforeHTMLMode);
|
| + DCHECK_EQ(getInsertionMode(), BeforeHTMLMode);
|
| if (token->name() != headTag && token->name() != bodyTag &&
|
| token->name() != htmlTag && token->name() != brTag) {
|
| parseError(token);
|
| @@ -1875,7 +1875,7 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| defaultForBeforeHTML();
|
| // Fall through.
|
| case BeforeHeadMode:
|
| - ASSERT(getInsertionMode() == BeforeHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), BeforeHeadMode);
|
| if (token->name() != headTag && token->name() != bodyTag &&
|
| token->name() != htmlTag && token->name() != brTag) {
|
| parseError(token);
|
| @@ -1884,7 +1884,7 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| defaultForBeforeHead();
|
| // Fall through.
|
| case InHeadMode:
|
| - ASSERT(getInsertionMode() == InHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), InHeadMode);
|
| // FIXME: This case should be broken out into processEndTagForInHead,
|
| // because other end tag cases now refer to it ("process the token for
|
| // using the rules of the "in head" insertion mode"). but because the
|
| @@ -1906,7 +1906,7 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| defaultForInHead();
|
| // Fall through.
|
| case AfterHeadMode:
|
| - ASSERT(getInsertionMode() == AfterHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), AfterHeadMode);
|
| if (token->name() != bodyTag && token->name() != htmlTag &&
|
| token->name() != brTag) {
|
| parseError(token);
|
| @@ -1915,15 +1915,15 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| defaultForAfterHead();
|
| // Fall through
|
| case InBodyMode:
|
| - ASSERT(getInsertionMode() == InBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), InBodyMode);
|
| processEndTagForInBody(token);
|
| break;
|
| case InTableMode:
|
| - ASSERT(getInsertionMode() == InTableMode);
|
| + DCHECK_EQ(getInsertionMode(), InTableMode);
|
| processEndTagForInTable(token);
|
| break;
|
| case InCaptionMode:
|
| - ASSERT(getInsertionMode() == InCaptionMode);
|
| + DCHECK_EQ(getInsertionMode(), InCaptionMode);
|
| if (token->name() == captionTag) {
|
| processCaptionEndTagForInCaption();
|
| return;
|
| @@ -1931,7 +1931,7 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| if (token->name() == tableTag) {
|
| parseError(token);
|
| if (!processCaptionEndTagForInCaption()) {
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| return;
|
| }
|
| processEndTag(token);
|
| @@ -1947,7 +1947,7 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| processEndTagForInBody(token);
|
| break;
|
| case InColumnGroupMode:
|
| - ASSERT(getInsertionMode() == InColumnGroupMode);
|
| + DCHECK_EQ(getInsertionMode(), InColumnGroupMode);
|
| if (token->name() == colgroupTag) {
|
| processColgroupEndTagForInColumnGroup();
|
| return;
|
| @@ -1961,25 +1961,25 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| return;
|
| }
|
| if (!processColgroupEndTagForInColumnGroup()) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| return;
|
| }
|
| processEndTag(token);
|
| break;
|
| case InRowMode:
|
| - ASSERT(getInsertionMode() == InRowMode);
|
| + DCHECK_EQ(getInsertionMode(), InRowMode);
|
| processEndTagForInRow(token);
|
| break;
|
| case InCellMode:
|
| - ASSERT(getInsertionMode() == InCellMode);
|
| + DCHECK_EQ(getInsertionMode(), InCellMode);
|
| processEndTagForInCell(token);
|
| break;
|
| case InTableBodyMode:
|
| - ASSERT(getInsertionMode() == InTableBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), InTableBodyMode);
|
| processEndTagForInTableBody(token);
|
| break;
|
| case AfterBodyMode:
|
| - ASSERT(getInsertionMode() == AfterBodyMode);
|
| + DCHECK_EQ(getInsertionMode(), AfterBodyMode);
|
| if (token->name() == htmlTag) {
|
| if (isParsingFragment()) {
|
| parseError(token);
|
| @@ -1990,18 +1990,18 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| }
|
| // Fall through.
|
| case AfterAfterBodyMode:
|
| - ASSERT(getInsertionMode() == AfterBodyMode ||
|
| + DCHECK(getInsertionMode() == AfterBodyMode ||
|
| getInsertionMode() == AfterAfterBodyMode);
|
| parseError(token);
|
| setInsertionMode(InBodyMode);
|
| processEndTag(token);
|
| break;
|
| case InHeadNoscriptMode:
|
| - ASSERT(getInsertionMode() == InHeadNoscriptMode);
|
| + DCHECK_EQ(getInsertionMode(), InHeadNoscriptMode);
|
| if (token->name() == noscriptTag) {
|
| - ASSERT(m_tree.currentStackItem()->hasTagName(noscriptTag));
|
| + DCHECK(m_tree.currentStackItem()->hasTagName(noscriptTag));
|
| m_tree.openElements()->pop();
|
| - ASSERT(m_tree.currentStackItem()->hasTagName(headTag));
|
| + DCHECK(m_tree.currentStackItem()->hasTagName(headTag));
|
| setInsertionMode(InHeadMode);
|
| return;
|
| }
|
| @@ -2033,14 +2033,14 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| setInsertionMode(m_originalInsertionMode);
|
| break;
|
| case InFramesetMode:
|
| - ASSERT(getInsertionMode() == InFramesetMode);
|
| + DCHECK_EQ(getInsertionMode(), InFramesetMode);
|
| if (token->name() == framesetTag) {
|
| bool ignoreFramesetForFragmentParsing = m_tree.currentIsRootNode();
|
| ignoreFramesetForFragmentParsing =
|
| ignoreFramesetForFragmentParsing ||
|
| m_tree.openElements()->hasTemplateInHTMLScope();
|
| if (ignoreFramesetForFragmentParsing) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| parseError(token);
|
| return;
|
| }
|
| @@ -2056,19 +2056,19 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| }
|
| break;
|
| case AfterFramesetMode:
|
| - ASSERT(getInsertionMode() == AfterFramesetMode);
|
| + DCHECK_EQ(getInsertionMode(), AfterFramesetMode);
|
| if (token->name() == htmlTag) {
|
| setInsertionMode(AfterAfterFramesetMode);
|
| return;
|
| }
|
| // Fall through.
|
| case AfterAfterFramesetMode:
|
| - ASSERT(getInsertionMode() == AfterFramesetMode ||
|
| + DCHECK(getInsertionMode() == AfterFramesetMode ||
|
| getInsertionMode() == AfterAfterFramesetMode);
|
| parseError(token);
|
| break;
|
| case InSelectInTableMode:
|
| - ASSERT(getInsertionMode() == InSelectInTableMode);
|
| + DCHECK(getInsertionMode() == InSelectInTableMode);
|
| if (token->name() == captionTag || token->name() == tableTag ||
|
| isTableBodyContextTag(token->name()) || token->name() == trTag ||
|
| isTableCellContextTag(token->name())) {
|
| @@ -2082,7 +2082,7 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| }
|
| // Fall through.
|
| case InSelectMode:
|
| - ASSERT(getInsertionMode() == InSelectMode ||
|
| + DCHECK(getInsertionMode() == InSelectMode ||
|
| getInsertionMode() == InSelectInTableMode);
|
| if (token->name() == optgroupTag) {
|
| if (m_tree.currentStackItem()->hasTagName(optionTag) &&
|
| @@ -2106,7 +2106,7 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| }
|
| if (token->name() == selectTag) {
|
| if (!m_tree.openElements()->inSelectScope(token->name())) {
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| parseError(token);
|
| return;
|
| }
|
| @@ -2133,7 +2133,7 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processComment(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::Comment);
|
| + DCHECK_EQ(token->type(), HTMLToken::Comment);
|
| if (m_insertionMode == InitialMode || m_insertionMode == BeforeHTMLMode ||
|
| m_insertionMode == AfterAfterBodyMode ||
|
| m_insertionMode == AfterAfterFramesetMode) {
|
| @@ -2153,7 +2153,7 @@ void HTMLTreeBuilder::processComment(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processCharacter(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::Character);
|
| + DCHECK_EQ(token->type(), HTMLToken::Character);
|
| CharacterTokenBuffer buffer(token);
|
| processCharacterBuffer(buffer);
|
| }
|
| @@ -2180,7 +2180,7 @@ ReprocessBuffer:
|
|
|
| switch (getInsertionMode()) {
|
| case InitialMode: {
|
| - ASSERT(getInsertionMode() == InitialMode);
|
| + DCHECK_EQ(getInsertionMode(), InitialMode);
|
| buffer.skipLeadingWhitespace();
|
| if (buffer.isEmpty())
|
| return;
|
| @@ -2188,7 +2188,7 @@ ReprocessBuffer:
|
| // Fall through.
|
| }
|
| case BeforeHTMLMode: {
|
| - ASSERT(getInsertionMode() == BeforeHTMLMode);
|
| + DCHECK_EQ(getInsertionMode(), BeforeHTMLMode);
|
| buffer.skipLeadingWhitespace();
|
| if (buffer.isEmpty())
|
| return;
|
| @@ -2200,7 +2200,7 @@ ReprocessBuffer:
|
| // Fall through.
|
| }
|
| case BeforeHeadMode: {
|
| - ASSERT(getInsertionMode() == BeforeHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), BeforeHeadMode);
|
| buffer.skipLeadingWhitespace();
|
| if (buffer.isEmpty())
|
| return;
|
| @@ -2208,7 +2208,7 @@ ReprocessBuffer:
|
| // Fall through.
|
| }
|
| case InHeadMode: {
|
| - ASSERT(getInsertionMode() == InHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), InHeadMode);
|
| StringView leadingWhitespace = buffer.takeLeadingWhitespace();
|
| if (!leadingWhitespace.isEmpty())
|
| m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
|
| @@ -2218,7 +2218,7 @@ ReprocessBuffer:
|
| // Fall through.
|
| }
|
| case AfterHeadMode: {
|
| - ASSERT(getInsertionMode() == AfterHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), AfterHeadMode);
|
| StringView leadingWhitespace = buffer.takeLeadingWhitespace();
|
| if (!leadingWhitespace.isEmpty())
|
| m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
|
| @@ -2231,7 +2231,7 @@ ReprocessBuffer:
|
| case InCaptionMode:
|
| case TemplateContentsMode:
|
| case InCellMode: {
|
| - ASSERT(getInsertionMode() == InBodyMode ||
|
| + DCHECK(getInsertionMode() == InBodyMode ||
|
| getInsertionMode() == InCaptionMode ||
|
| getInsertionMode() == InCellMode ||
|
| getInsertionMode() == TemplateContentsMode);
|
| @@ -2241,10 +2241,10 @@ ReprocessBuffer:
|
| case InTableMode:
|
| case InTableBodyMode:
|
| case InRowMode: {
|
| - ASSERT(getInsertionMode() == InTableMode ||
|
| + DCHECK(getInsertionMode() == InTableMode ||
|
| getInsertionMode() == InTableBodyMode ||
|
| getInsertionMode() == InRowMode);
|
| - ASSERT(m_pendingTableCharacters.isEmpty());
|
| + DCHECK(m_pendingTableCharacters.isEmpty());
|
| if (m_tree.currentStackItem()->isElementNode() &&
|
| (m_tree.currentStackItem()->hasTagName(tableTag) ||
|
| m_tree.currentStackItem()->hasTagName(tbodyTag) ||
|
| @@ -2266,14 +2266,14 @@ ReprocessBuffer:
|
| break;
|
| }
|
| case InColumnGroupMode: {
|
| - ASSERT(getInsertionMode() == InColumnGroupMode);
|
| + DCHECK_EQ(getInsertionMode(), InColumnGroupMode);
|
| StringView leadingWhitespace = buffer.takeLeadingWhitespace();
|
| if (!leadingWhitespace.isEmpty())
|
| m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
|
| if (buffer.isEmpty())
|
| return;
|
| if (!processColgroupEndTagForInColumnGroup()) {
|
| - ASSERT(isParsingFragmentOrTemplateContents());
|
| + DCHECK(isParsingFragmentOrTemplateContents());
|
| // The spec tells us to drop these characters on the floor.
|
| buffer.skipLeadingNonWhitespace();
|
| if (buffer.isEmpty())
|
| @@ -2283,19 +2283,19 @@ ReprocessBuffer:
|
| }
|
| case AfterBodyMode:
|
| case AfterAfterBodyMode: {
|
| - ASSERT(getInsertionMode() == AfterBodyMode ||
|
| + DCHECK(getInsertionMode() == AfterBodyMode ||
|
| getInsertionMode() == AfterAfterBodyMode);
|
| // FIXME: parse error
|
| setInsertionMode(InBodyMode);
|
| goto ReprocessBuffer;
|
| }
|
| case TextMode: {
|
| - ASSERT(getInsertionMode() == TextMode);
|
| + DCHECK_EQ(getInsertionMode(), TextMode);
|
| m_tree.insertTextNode(buffer.takeRemaining());
|
| break;
|
| }
|
| case InHeadNoscriptMode: {
|
| - ASSERT(getInsertionMode() == InHeadNoscriptMode);
|
| + DCHECK_EQ(getInsertionMode(), InHeadNoscriptMode);
|
| StringView leadingWhitespace = buffer.takeLeadingWhitespace();
|
| if (!leadingWhitespace.isEmpty())
|
| m_tree.insertTextNode(leadingWhitespace, AllWhitespace);
|
| @@ -2306,7 +2306,7 @@ ReprocessBuffer:
|
| }
|
| case InFramesetMode:
|
| case AfterFramesetMode: {
|
| - ASSERT(getInsertionMode() == InFramesetMode ||
|
| + DCHECK(getInsertionMode() == InFramesetMode ||
|
| getInsertionMode() == AfterFramesetMode ||
|
| getInsertionMode() == AfterAfterFramesetMode);
|
| String leadingWhitespace = buffer.takeRemainingWhitespace();
|
| @@ -2318,7 +2318,7 @@ ReprocessBuffer:
|
| }
|
| case InSelectInTableMode:
|
| case InSelectMode: {
|
| - ASSERT(getInsertionMode() == InSelectMode ||
|
| + DCHECK(getInsertionMode() == InSelectMode ||
|
| getInsertionMode() == InSelectInTableMode);
|
| m_tree.insertTextNode(buffer.takeRemaining());
|
| break;
|
| @@ -2346,33 +2346,33 @@ void HTMLTreeBuilder::processCharacterBufferForInBody(
|
| }
|
|
|
| void HTMLTreeBuilder::processEndOfFile(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::EndOfFile);
|
| + DCHECK_EQ(token->type(), HTMLToken::EndOfFile);
|
| switch (getInsertionMode()) {
|
| case InitialMode:
|
| - ASSERT(getInsertionMode() == InitialMode);
|
| + DCHECK_EQ(getInsertionMode(), InitialMode);
|
| defaultForInitial();
|
| // Fall through.
|
| case BeforeHTMLMode:
|
| - ASSERT(getInsertionMode() == BeforeHTMLMode);
|
| + DCHECK_EQ(getInsertionMode(), BeforeHTMLMode);
|
| defaultForBeforeHTML();
|
| // Fall through.
|
| case BeforeHeadMode:
|
| - ASSERT(getInsertionMode() == BeforeHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), BeforeHeadMode);
|
| defaultForBeforeHead();
|
| // Fall through.
|
| case InHeadMode:
|
| - ASSERT(getInsertionMode() == InHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), InHeadMode);
|
| defaultForInHead();
|
| // Fall through.
|
| case AfterHeadMode:
|
| - ASSERT(getInsertionMode() == AfterHeadMode);
|
| + DCHECK_EQ(getInsertionMode(), AfterHeadMode);
|
| defaultForAfterHead();
|
| // Fall through
|
| case InBodyMode:
|
| case InCellMode:
|
| case InCaptionMode:
|
| case InRowMode:
|
| - ASSERT(getInsertionMode() == InBodyMode ||
|
| + DCHECK(getInsertionMode() == InBodyMode ||
|
| getInsertionMode() == InCellMode ||
|
| getInsertionMode() == InCaptionMode ||
|
| getInsertionMode() == InRowMode ||
|
| @@ -2385,25 +2385,25 @@ void HTMLTreeBuilder::processEndOfFile(AtomicHTMLToken* token) {
|
| break;
|
| case AfterBodyMode:
|
| case AfterAfterBodyMode:
|
| - ASSERT(getInsertionMode() == AfterBodyMode ||
|
| + DCHECK(getInsertionMode() == AfterBodyMode ||
|
| getInsertionMode() == AfterAfterBodyMode);
|
| break;
|
| case InHeadNoscriptMode:
|
| - ASSERT(getInsertionMode() == InHeadNoscriptMode);
|
| + DCHECK_EQ(getInsertionMode(), InHeadNoscriptMode);
|
| defaultForInHeadNoscript();
|
| processEndOfFile(token);
|
| return;
|
| case AfterFramesetMode:
|
| case AfterAfterFramesetMode:
|
| - ASSERT(getInsertionMode() == AfterFramesetMode ||
|
| + DCHECK(getInsertionMode() == AfterFramesetMode ||
|
| getInsertionMode() == AfterAfterFramesetMode);
|
| break;
|
| case InColumnGroupMode:
|
| if (m_tree.currentIsRootNode()) {
|
| - ASSERT(isParsingFragment());
|
| + DCHECK(isParsingFragment());
|
| return; // FIXME: Should we break here instead of returning?
|
| }
|
| - ASSERT(m_tree.currentNode()->hasTagName(colgroupTag) ||
|
| + DCHECK(m_tree.currentNode()->hasTagName(colgroupTag) ||
|
| isHTMLTemplateElement(m_tree.currentNode()));
|
| processColgroupEndTagForInColumnGroup();
|
| // Fall through
|
| @@ -2412,7 +2412,7 @@ void HTMLTreeBuilder::processEndOfFile(AtomicHTMLToken* token) {
|
| case InTableBodyMode:
|
| case InSelectInTableMode:
|
| case InSelectMode:
|
| - ASSERT(getInsertionMode() == InSelectMode ||
|
| + DCHECK(getInsertionMode() == InSelectMode ||
|
| getInsertionMode() == InSelectInTableMode ||
|
| getInsertionMode() == InTableMode ||
|
| getInsertionMode() == InFramesetMode ||
|
| @@ -2438,7 +2438,7 @@ void HTMLTreeBuilder::processEndOfFile(AtomicHTMLToken* token) {
|
| if (isHTMLTextAreaElement(el))
|
| toHTMLFormControlElement(el)->setBlocksFormSubmission(true);
|
| m_tree.openElements()->pop();
|
| - ASSERT(m_originalInsertionMode != TextMode);
|
| + DCHECK_NE(m_originalInsertionMode, TextMode);
|
| setInsertionMode(m_originalInsertionMode);
|
| processEndOfFile(token);
|
| return;
|
| @@ -2502,7 +2502,7 @@ void HTMLTreeBuilder::defaultForInTableText() {
|
| }
|
|
|
| bool HTMLTreeBuilder::processStartTagForInHead(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::StartTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::StartTag);
|
| if (token->name() == htmlTag) {
|
| processHtmlStartTagForInBody(token);
|
| return true;
|
| @@ -2548,7 +2548,7 @@ bool HTMLTreeBuilder::processStartTagForInHead(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processGenericRCDATAStartTag(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::StartTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::StartTag);
|
| m_tree.insertHTMLElement(token);
|
| if (m_parser->tokenizer())
|
| m_parser->tokenizer()->setState(HTMLTokenizer::RCDATAState);
|
| @@ -2557,7 +2557,7 @@ void HTMLTreeBuilder::processGenericRCDATAStartTag(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processGenericRawTextStartTag(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::StartTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::StartTag);
|
| m_tree.insertHTMLElement(token);
|
| if (m_parser->tokenizer())
|
| m_parser->tokenizer()->setState(HTMLTokenizer::RAWTEXTState);
|
| @@ -2566,7 +2566,7 @@ void HTMLTreeBuilder::processGenericRawTextStartTag(AtomicHTMLToken* token) {
|
| }
|
|
|
| void HTMLTreeBuilder::processScriptStartTag(AtomicHTMLToken* token) {
|
| - ASSERT(token->type() == HTMLToken::StartTag);
|
| + DCHECK_EQ(token->type(), HTMLToken::StartTag);
|
| m_tree.insertScriptElement(token);
|
| if (m_parser->tokenizer())
|
| m_parser->tokenizer()->setState(HTMLTokenizer::ScriptDataState);
|
| @@ -2624,7 +2624,7 @@ void HTMLTreeBuilder::processTokenInForeignContent(AtomicHTMLToken* token) {
|
|
|
| switch (token->type()) {
|
| case HTMLToken::Uninitialized:
|
| - ASSERT_NOT_REACHED();
|
| + NOTREACHED();
|
| break;
|
| case HTMLToken::DOCTYPE:
|
| parseError(token);
|
| @@ -2709,7 +2709,7 @@ void HTMLTreeBuilder::processTokenInForeignContent(AtomicHTMLToken* token) {
|
| break;
|
| case HTMLToken::Character:
|
| case HTMLToken::EndOfFile:
|
| - ASSERT_NOT_REACHED();
|
| + NOTREACHED();
|
| break;
|
| }
|
| }
|
| @@ -2718,8 +2718,10 @@ void HTMLTreeBuilder::finished() {
|
| if (isParsingFragment())
|
| return;
|
|
|
| - ASSERT(m_templateInsertionModes.isEmpty());
|
| - ASSERT(m_isAttached);
|
| + DCHECK(m_templateInsertionModes.isEmpty());
|
| +#if DCHECK_IS_ON()
|
| + DCHECK(m_isAttached);
|
| +#endif
|
| // Warning, this may detach the parser. Do not do anything else after this.
|
| m_tree.finishedParsing();
|
| }
|
|
|