Changeset 62042 in webkit
- Timestamp:
- Jun 28, 2010 3:24:37 PM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r62040 r62042 1 2010-06-28 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 Add text nodes to the DOM 6 https://bugs.webkit.org/show_bug.cgi?id=41306 7 8 Actually add some text nodes to the DOM when parsing a document. We're 9 going to need to do something fancier here eventually, but this gets us 10 past the error we're seeing currently in runner.html. 11 12 Unfortunately, this patch "regresses" runner.html in the sense that we 13 now hit an assert, but it's still an improvement... I'll update the 14 HTML5 expectations once we get past the assert. 15 16 * html/HTMLTreeBuilder.cpp: 17 (WebCore::HTMLTreeBuilder::processCharacter): 18 (WebCore::HTMLTreeBuilder::insertTextNode): 19 * html/HTMLTreeBuilder.h: 20 1 21 2010-06-28 Beth Dakin <bdakin@apple.com> 2 22 -
trunk/WebCore/html/HTMLTreeBuilder.cpp
r62028 r62042 665 665 void HTMLTreeBuilder::processCharacter(AtomicHTMLToken& token) 666 666 { 667 if (insertionMode() == TextMode) {668 attach(currentElement(), Text::create(m_document, token.characters()));669 return;670 }671 667 // FIXME: We need to figure out how to handle each character individually. 672 notImplemented(); 668 switch (insertionMode()) { 669 case InitialMode: 670 ASSERT(insertionMode() == InitialMode); 671 notImplemented(); 672 processDefaultForInitialMode(token); 673 // Fall through. 674 case BeforeHTMLMode: 675 ASSERT(insertionMode() == BeforeHTMLMode); 676 notImplemented(); 677 processDefaultForBeforeHTMLMode(token); 678 // Fall through. 679 case BeforeHeadMode: 680 ASSERT(insertionMode() == BeforeHeadMode); 681 notImplemented(); 682 processDefaultForBeforeHeadMode(token); 683 // Fall through. 684 case InHeadMode: 685 ASSERT(insertionMode() == InHeadMode); 686 notImplemented(); 687 processDefaultForInHeadMode(token); 688 // Fall through. 689 case AfterHeadMode: 690 ASSERT(insertionMode() == AfterHeadMode); 691 notImplemented(); 692 processDefaultForAfterHeadMode(token); 693 // Fall through 694 case InBodyMode: 695 ASSERT(insertionMode() == InBodyMode); 696 notImplemented(); 697 insertTextNode(token); 698 break; 699 case TextMode: 700 notImplemented(); 701 insertTextNode(token); 702 break; 703 case InHeadNoscriptMode: 704 ASSERT(insertionMode() == InHeadNoscriptMode); 705 processDefaultForInHeadNoscriptMode(token); 706 processToken(token); 707 break; 708 default: 709 notImplemented(); 710 } 673 711 } 674 712 … … 860 898 } 861 899 900 void HTMLTreeBuilder::insertTextNode(AtomicHTMLToken& token) 901 { 902 attach(currentElement(), Text::create(m_document, token.characters())); 903 } 904 862 905 PassRefPtr<Element> HTMLTreeBuilder::createElement(AtomicHTMLToken& token) 863 906 { -
trunk/WebCore/html/HTMLTreeBuilder.h
r62028 r62042 201 201 void insertGenericRawTextElement(AtomicHTMLToken&); 202 202 void insertScriptElement(AtomicHTMLToken&); 203 void insertTextNode(AtomicHTMLToken&); 203 204 204 205 void insertHTMLStartTagBeforeHTML(AtomicHTMLToken&);
Note: See TracChangeset
for help on using the changeset viewer.