Index: third_party/WebKit/Source/core/html/parser/HTMLConstructionSite.cpp |
diff --git a/third_party/WebKit/Source/core/html/parser/HTMLConstructionSite.cpp b/third_party/WebKit/Source/core/html/parser/HTMLConstructionSite.cpp |
index 15a678f43fd1a4a620d95845a39f5df3315df52d..214f201fb5bc1b28e366f8bfcb77270f8312be4c 100644 |
--- a/third_party/WebKit/Source/core/html/parser/HTMLConstructionSite.cpp |
+++ b/third_party/WebKit/Source/core/html/parser/HTMLConstructionSite.cpp |
@@ -112,7 +112,7 @@ static inline void insert(HTMLConstructionSiteTask& task) { |
} |
static inline void executeInsertTask(HTMLConstructionSiteTask& task) { |
- ASSERT(task.operation == HTMLConstructionSiteTask::Insert); |
+ DCHECK_EQ(task.operation, HTMLConstructionSiteTask::Insert); |
insert(task); |
@@ -125,8 +125,8 @@ static inline void executeInsertTask(HTMLConstructionSiteTask& task) { |
} |
static inline void executeInsertTextTask(HTMLConstructionSiteTask& task) { |
- ASSERT(task.operation == HTMLConstructionSiteTask::InsertText); |
- ASSERT(task.child->isTextNode()); |
+ DCHECK_EQ(task.operation, HTMLConstructionSiteTask::InsertText); |
+ DCHECK(task.child->isTextNode()); |
// Merge text nodes into previous ones if possible: |
// http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#insert-a-character |
@@ -146,26 +146,26 @@ static inline void executeInsertTextTask(HTMLConstructionSiteTask& task) { |
} |
static inline void executeReparentTask(HTMLConstructionSiteTask& task) { |
- ASSERT(task.operation == HTMLConstructionSiteTask::Reparent); |
+ DCHECK_EQ(task.operation, HTMLConstructionSiteTask::Reparent); |
task.parent->parserAppendChild(task.child); |
} |
static inline void executeInsertAlreadyParsedChildTask( |
HTMLConstructionSiteTask& task) { |
- ASSERT(task.operation == HTMLConstructionSiteTask::InsertAlreadyParsedChild); |
+ DCHECK_EQ(task.operation, HTMLConstructionSiteTask::InsertAlreadyParsedChild); |
insert(task); |
} |
static inline void executeTakeAllChildrenTask(HTMLConstructionSiteTask& task) { |
- ASSERT(task.operation == HTMLConstructionSiteTask::TakeAllChildren); |
+ DCHECK_EQ(task.operation, HTMLConstructionSiteTask::TakeAllChildren); |
task.parent->parserTakeAllChildrenFrom(*task.oldParent()); |
} |
void HTMLConstructionSite::executeTask(HTMLConstructionSiteTask& task) { |
- ASSERT(m_taskQueue.isEmpty()); |
+ DCHECK(m_taskQueue.isEmpty()); |
if (task.operation == HTMLConstructionSiteTask::Insert) |
return executeInsertTask(task); |
@@ -183,7 +183,7 @@ void HTMLConstructionSite::executeTask(HTMLConstructionSiteTask& task) { |
if (task.operation == HTMLConstructionSiteTask::TakeAllChildren) |
return executeTakeAllChildrenTask(task); |
- ASSERT_NOT_REACHED(); |
+ NOTREACHED(); |
} |
// This is only needed for TextDocuments where we might have text nodes |
@@ -192,8 +192,8 @@ void HTMLConstructionSite::executeTask(HTMLConstructionSiteTask& task) { |
static unsigned findBreakIndexBetween(const StringBuilder& string, |
unsigned currentPosition, |
unsigned proposedBreakIndex) { |
- ASSERT(currentPosition < proposedBreakIndex); |
- ASSERT(proposedBreakIndex <= string.length()); |
+ DCHECK_LT(currentPosition, proposedBreakIndex); |
+ DCHECK_LE(proposedBreakIndex, string.length()); |
// The end of the string is always a valid break. |
if (proposedBreakIndex == string.length()) |
return proposedBreakIndex; |
@@ -244,7 +244,7 @@ void HTMLConstructionSite::flushPendingText(FlushMode mode) { |
// Hold onto the current pending text on the stack so that queueTask doesn't |
// recurse infinitely. |
m_pendingText.swap(pendingText); |
- ASSERT(m_pendingText.isEmpty()); |
+ DCHECK(m_pendingText.isEmpty()); |
// Splitting text nodes into smaller chunks contradicts HTML5 spec, but is |
// necessary for performance, see: |
@@ -258,7 +258,7 @@ void HTMLConstructionSite::flushPendingText(FlushMode mode) { |
std::min(currentPosition + lengthLimit, string.length()); |
unsigned breakIndex = |
findBreakIndexBetween(string, currentPosition, proposedBreakIndex); |
- ASSERT(breakIndex <= string.length()); |
+ DCHECK_LE(breakIndex, string.length()); |
String substring = |
string.substring(currentPosition, breakIndex - currentPosition); |
substring = atomizeIfAllWhitespace(substring, pendingText.whitespaceMode); |
@@ -269,25 +269,25 @@ void HTMLConstructionSite::flushPendingText(FlushMode mode) { |
task.child = Text::create(task.parent->document(), substring); |
queueTask(task); |
- ASSERT(breakIndex > currentPosition); |
- ASSERT(breakIndex - currentPosition == substring.length()); |
- ASSERT(toText(task.child.get())->length() == substring.length()); |
+ DCHECK_GT(breakIndex, currentPosition); |
+ DCHECK_EQ(breakIndex - currentPosition, substring.length()); |
+ DCHECK_EQ(toText(task.child.get())->length(), substring.length()); |
currentPosition = breakIndex; |
} |
} |
void HTMLConstructionSite::queueTask(const HTMLConstructionSiteTask& task) { |
flushPendingText(FlushAlways); |
- ASSERT(m_pendingText.isEmpty()); |
+ DCHECK(m_pendingText.isEmpty()); |
m_taskQueue.push_back(task); |
} |
void HTMLConstructionSite::attachLater(ContainerNode* parent, |
Node* child, |
bool selfClosing) { |
- ASSERT(scriptingContentIsAllowed(m_parserContentPolicy) || |
+ DCHECK(scriptingContentIsAllowed(m_parserContentPolicy) || |
!child->isElementNode() || !toElement(child)->isScriptElement()); |
- ASSERT(pluginContentIsAllowed(m_parserContentPolicy) || |
+ DCHECK(pluginContentIsAllowed(m_parserContentPolicy) || |
!isHTMLPlugInElement(child)); |
HTMLConstructionSiteTask task(HTMLConstructionSiteTask::Insert); |
@@ -306,7 +306,7 @@ void HTMLConstructionSite::attachLater(ContainerNode* parent, |
task.parent->parentNode()) |
task.parent = task.parent->parentNode(); |
- ASSERT(task.parent); |
+ DCHECK(task.parent); |
queueTask(task); |
} |
@@ -339,7 +339,7 @@ HTMLConstructionSite::HTMLConstructionSite( |
m_isParsingFragment(false), |
m_redirectAttachToFosterParent(false), |
m_inQuirksMode(document.inQuirksMode()) { |
- ASSERT(m_document->isHTMLDocument() || m_document->isXHTMLDocument()); |
+ DCHECK(m_document->isHTMLDocument() || m_document->isXHTMLDocument()); |
} |
void HTMLConstructionSite::initFragmentParsing(DocumentFragment* fragment, |
@@ -360,10 +360,10 @@ void HTMLConstructionSite::initFragmentParsing(DocumentFragment* fragment, |
HTMLConstructionSite::~HTMLConstructionSite() { |
// Depending on why we're being destroyed it might be OK to forget queued |
// tasks, but currently we don't expect to. |
- ASSERT(m_taskQueue.isEmpty()); |
+ DCHECK(m_taskQueue.isEmpty()); |
// Currently we assume that text will never be the last token in the document |
// and that we'll always queue some additional task to cause it to flush. |
- ASSERT(m_pendingText.isEmpty()); |
+ DCHECK(m_pendingText.isEmpty()); |
} |
DEFINE_TRACE(HTMLConstructionSite) { |
@@ -392,7 +392,7 @@ HTMLFormElement* HTMLConstructionSite::takeForm() { |
void HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML( |
AtomicHTMLToken* token) { |
- ASSERT(m_document); |
+ DCHECK(m_document); |
HTMLHtmlElement* element = HTMLHtmlElement::create(*m_document); |
setAttributes(element, token, m_parserContentPolicy); |
attachLater(m_attachmentRoot, element); |
@@ -605,7 +605,7 @@ void HTMLConstructionSite::setCompatibilityModeFromDoctype( |
} |
void HTMLConstructionSite::processEndOfFile() { |
- ASSERT(currentNode()); |
+ DCHECK(currentNode()); |
flush(FlushAlways); |
openElements()->popAll(); |
} |
@@ -613,13 +613,13 @@ void HTMLConstructionSite::processEndOfFile() { |
void HTMLConstructionSite::finishedParsing() { |
// We shouldn't have any queued tasks but we might have pending text which we |
// need to promote to tasks and execute. |
- ASSERT(m_taskQueue.isEmpty()); |
+ DCHECK(m_taskQueue.isEmpty()); |
flush(FlushAlways); |
m_document->finishedParsing(); |
} |
void HTMLConstructionSite::insertDoctype(AtomicHTMLToken* token) { |
- ASSERT(token->type() == HTMLToken::DOCTYPE); |
+ DCHECK_EQ(token->type(), HTMLToken::DOCTYPE); |
const String& publicId = |
StringImpl::create8BitIfPossible(token->publicIdentifier()); |
@@ -636,7 +636,7 @@ void HTMLConstructionSite::insertDoctype(AtomicHTMLToken* token) { |
// inside <table>). For now we ASSERT that we never hit this code in a |
// fragment, as changing the owning document's compatibility mode would be |
// wrong. |
- ASSERT(!m_isParsingFragment); |
+ DCHECK(!m_isParsingFragment); |
if (m_isParsingFragment) |
return; |
@@ -648,33 +648,33 @@ void HTMLConstructionSite::insertDoctype(AtomicHTMLToken* token) { |
} |
void HTMLConstructionSite::insertComment(AtomicHTMLToken* token) { |
- ASSERT(token->type() == HTMLToken::Comment); |
+ DCHECK_EQ(token->type(), HTMLToken::Comment); |
attachLater(currentNode(), |
Comment::create(ownerDocumentForCurrentNode(), token->comment())); |
} |
void HTMLConstructionSite::insertCommentOnDocument(AtomicHTMLToken* token) { |
- ASSERT(token->type() == HTMLToken::Comment); |
- ASSERT(m_document); |
+ DCHECK_EQ(token->type(), HTMLToken::Comment); |
+ DCHECK(m_document); |
attachLater(m_attachmentRoot, Comment::create(*m_document, token->comment())); |
} |
void HTMLConstructionSite::insertCommentOnHTMLHtmlElement( |
AtomicHTMLToken* token) { |
- ASSERT(token->type() == HTMLToken::Comment); |
+ DCHECK_EQ(token->type(), HTMLToken::Comment); |
ContainerNode* parent = m_openElements.rootNode(); |
attachLater(parent, Comment::create(parent->document(), token->comment())); |
} |
void HTMLConstructionSite::insertHTMLHeadElement(AtomicHTMLToken* token) { |
- ASSERT(!shouldFosterParent()); |
+ DCHECK(!shouldFosterParent()); |
m_head = HTMLStackItem::create(createHTMLElement(token), token); |
attachLater(currentNode(), m_head->element()); |
m_openElements.pushHTMLHeadElement(m_head); |
} |
void HTMLConstructionSite::insertHTMLBodyElement(AtomicHTMLToken* token) { |
- ASSERT(!shouldFosterParent()); |
+ DCHECK(!shouldFosterParent()); |
HTMLElement* body = createHTMLElement(token); |
attachLater(currentNode(), body); |
m_openElements.pushHTMLBodyElement(HTMLStackItem::create(body, token)); |
@@ -685,7 +685,7 @@ void HTMLConstructionSite::insertHTMLBodyElement(AtomicHTMLToken* token) { |
void HTMLConstructionSite::insertHTMLFormElement(AtomicHTMLToken* token, |
bool isDemoted) { |
HTMLElement* element = createHTMLElement(token); |
- ASSERT(isHTMLFormElement(element)); |
+ DCHECK(isHTMLFormElement(element)); |
HTMLFormElement* formElement = toHTMLFormElement(element); |
if (!openElements()->hasTemplateInHTMLScope()) |
m_form = formElement; |
@@ -702,7 +702,7 @@ void HTMLConstructionSite::insertHTMLElement(AtomicHTMLToken* token) { |
void HTMLConstructionSite::insertSelfClosingHTMLElementDestroyingToken( |
AtomicHTMLToken* token) { |
- ASSERT(token->type() == HTMLToken::StartTag); |
+ DCHECK_EQ(token->type(), HTMLToken::StartTag); |
// Normally HTMLElementStack is responsible for calling finishParsingChildren, |
// but self-closing elements are never in the element stack so the stack |
// doesn't get a chance to tell them that we're done parsing their children. |
@@ -750,7 +750,7 @@ void HTMLConstructionSite::insertScriptElement(AtomicHTMLToken* token) { |
void HTMLConstructionSite::insertForeignElement( |
AtomicHTMLToken* token, |
const AtomicString& namespaceURI) { |
- ASSERT(token->type() == HTMLToken::StartTag); |
+ DCHECK_EQ(token->type(), HTMLToken::StartTag); |
// parseError when xmlns or xmlns:xlink are wrong. |
DVLOG(1) << "Not implemented."; |
@@ -995,7 +995,7 @@ void HTMLConstructionSite::reconstructTheActiveFormattingElements() { |
return; |
unsigned unopenEntryIndex = firstUnopenElementIndex; |
- ASSERT(unopenEntryIndex < m_activeFormattingElements.size()); |
+ DCHECK_LT(unopenEntryIndex, m_activeFormattingElements.size()); |
for (; unopenEntryIndex < m_activeFormattingElements.size(); |
++unopenEntryIndex) { |
HTMLFormattingElementList::Entry& unopenedEntry = |
@@ -1070,7 +1070,7 @@ void HTMLConstructionSite::fosterParent(Node* node) { |
HTMLConstructionSiteTask task(HTMLConstructionSiteTask::Insert); |
findFosterSite(task); |
task.child = node; |
- ASSERT(task.parent); |
+ DCHECK(task.parent); |
queueTask(task); |
} |