Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: Source/core/html/parser/HTMLElementStack.cpp

Issue 656723005: Use C++11 features in core/html (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: use nullptr Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved.
3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 return m_top.get(); 388 return m_top.get();
389 } 389 }
390 390
391 HTMLStackItem* HTMLElementStack::oneBelowTop() const 391 HTMLStackItem* HTMLElementStack::oneBelowTop() const
392 { 392 {
393 // We should never call this if there are fewer than 2 elements on the stack . 393 // We should never call this if there are fewer than 2 elements on the stack .
394 ASSERT(m_top); 394 ASSERT(m_top);
395 ASSERT(m_top->next()); 395 ASSERT(m_top->next());
396 if (m_top->next()->stackItem()->isElementNode()) 396 if (m_top->next()->stackItem()->isElementNode())
397 return m_top->next()->stackItem().get(); 397 return m_top->next()->stackItem().get();
398 return 0; 398 return nullptr;
399 } 399 }
400 400
401 void HTMLElementStack::removeHTMLHeadElement(Element* element) 401 void HTMLElementStack::removeHTMLHeadElement(Element* element)
402 { 402 {
403 ASSERT(m_headElement == element); 403 ASSERT(m_headElement == element);
404 if (m_top->element() == element) { 404 if (m_top->element() == element) {
405 popHTMLHeadElement(); 405 popHTMLHeadElement();
406 return; 406 return;
407 } 407 }
408 m_headElement = nullptr; 408 m_headElement = nullptr;
409 removeNonTopCommon(element); 409 removeNonTopCommon(element);
410 } 410 }
411 411
412 void HTMLElementStack::remove(Element* element) 412 void HTMLElementStack::remove(Element* element)
413 { 413 {
414 ASSERT(!isHTMLHeadElement(element)); 414 ASSERT(!isHTMLHeadElement(element));
415 if (m_top->element() == element) { 415 if (m_top->element() == element) {
416 pop(); 416 pop();
417 return; 417 return;
418 } 418 }
419 removeNonTopCommon(element); 419 removeNonTopCommon(element);
420 } 420 }
421 421
422 HTMLElementStack::ElementRecord* HTMLElementStack::find(Element* element) const 422 HTMLElementStack::ElementRecord* HTMLElementStack::find(Element* element) const
423 { 423 {
424 for (ElementRecord* pos = m_top.get(); pos; pos = pos->next()) { 424 for (ElementRecord* pos = m_top.get(); pos; pos = pos->next()) {
425 if (pos->node() == element) 425 if (pos->node() == element)
426 return pos; 426 return pos;
427 } 427 }
428 return 0; 428 return nullptr;
429 } 429 }
430 430
431 HTMLElementStack::ElementRecord* HTMLElementStack::topmost(const AtomicString& t agName) const 431 HTMLElementStack::ElementRecord* HTMLElementStack::topmost(const AtomicString& t agName) const
432 { 432 {
433 for (ElementRecord* pos = m_top.get(); pos; pos = pos->next()) { 433 for (ElementRecord* pos = m_top.get(); pos; pos = pos->next()) {
434 if (pos->stackItem()->matchesHTMLTag(tagName)) 434 if (pos->stackItem()->matchesHTMLTag(tagName))
435 return pos; 435 return pos;
436 } 436 }
437 return 0; 437 return nullptr;
438 } 438 }
439 439
440 bool HTMLElementStack::contains(Element* element) const 440 bool HTMLElementStack::contains(Element* element) const
441 { 441 {
442 return !!find(element); 442 return !!find(element);
443 } 443 }
444 444
445 bool HTMLElementStack::contains(const AtomicString& tagName) const 445 bool HTMLElementStack::contains(const AtomicString& tagName) const
446 { 446 {
447 return !!topmost(tagName); 447 return !!topmost(tagName);
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 HTMLElementStack::ElementRecord* HTMLElementStack::furthestBlockForFormattingEle ment(Element* formattingElement) const 606 HTMLElementStack::ElementRecord* HTMLElementStack::furthestBlockForFormattingEle ment(Element* formattingElement) const
607 { 607 {
608 ElementRecord* furthestBlock = 0; 608 ElementRecord* furthestBlock = 0;
609 for (ElementRecord* pos = m_top.get(); pos; pos = pos->next()) { 609 for (ElementRecord* pos = m_top.get(); pos; pos = pos->next()) {
610 if (pos->element() == formattingElement) 610 if (pos->element() == formattingElement)
611 return furthestBlock; 611 return furthestBlock;
612 if (pos->stackItem()->isSpecialNode()) 612 if (pos->stackItem()->isSpecialNode())
613 furthestBlock = pos; 613 furthestBlock = pos;
614 } 614 }
615 ASSERT_NOT_REACHED(); 615 ASSERT_NOT_REACHED();
616 return 0; 616 return nullptr;
617 } 617 }
618 618
619 void HTMLElementStack::trace(Visitor* visitor) 619 void HTMLElementStack::trace(Visitor* visitor)
620 { 620 {
621 visitor->trace(m_top); 621 visitor->trace(m_top);
622 visitor->trace(m_rootNode); 622 visitor->trace(m_rootNode);
623 visitor->trace(m_headElement); 623 visitor->trace(m_headElement);
624 visitor->trace(m_bodyElement); 624 visitor->trace(m_bodyElement);
625 } 625 }
626 626
627 #ifndef NDEBUG 627 #ifndef NDEBUG
628 628
629 void HTMLElementStack::show() 629 void HTMLElementStack::show()
630 { 630 {
631 for (ElementRecord* record = m_top.get(); record; record = record->next()) 631 for (ElementRecord* record = m_top.get(); record; record = record->next())
632 record->element()->showNode(); 632 record->element()->showNode();
633 } 633 }
634 634
635 #endif 635 #endif
636 636
637 } 637 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698