Changeset 64018 in webkit
- Timestamp:
- Jul 24, 2010 6:03:15 PM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r64015 r64018 1 2010-07-24 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 Atomize strings used by the HTML5 tree builder 6 https://bugs.webkit.org/show_bug.cgi?id=42875 7 8 This is about a 1% improvement to the parsing benchmark. 9 10 * html/HTMLTagNames.in: 11 * html/HTMLTreeBuilder.cpp: 12 (WebCore::HTMLTreeBuilder::processStartTagForInBody): 13 (WebCore::HTMLTreeBuilder::processStartTag): 14 (WebCore::HTMLTreeBuilder::processEndTagForInBody): 15 (WebCore::HTMLTreeBuilder::processStartTagForInHead): 16 1 17 2010-07-24 Patrick Gansterer <paroga@paroga.com> 2 18 -
trunk/WebCore/html/HTMLElement.cpp
r62398 r64018 789 789 size_t tagCount = 0; 790 790 WebCore::QualifiedName** tags = HTMLNames::getHTMLTags(&tagCount); 791 for (size_t i = 0; i < tagCount; i++) 791 for (size_t i = 0; i < tagCount; i++) { 792 if (*tags[i] == bgsoundTag 793 || *tags[i] == commandTag 794 || *tags[i] == detailsTag 795 || *tags[i] == figcaptionTag 796 || *tags[i] == figureTag 797 || *tags[i] == summaryTag 798 || *tags[i] == trackTag) { 799 // Even though we have atoms for these tags, we don't want to 800 // treat them as "recognized tags" for the purpose of parsing 801 // because that changes how we parse documents. 802 continue; 803 } 792 804 tagList.add(tags[i]->localName().impl()); 805 } 793 806 } 794 807 return tagList.contains(tagName.localName().impl()); -
trunk/WebCore/html/HTMLTagNames.in
r62418 r64018 16 16 basefont interfaceName=HTMLBaseFontElement 17 17 bdo interfaceName=HTMLElement 18 bgsound interfaceName=HTMLElement 18 19 big interfaceName=HTMLElement 19 20 blockquote … … 28 29 col interfaceName=HTMLTableColElement 29 30 colgroup interfaceName=HTMLTableColElement 31 command interfaceName=HTMLElement 30 32 datagrid interfaceName=HTMLDataGridElement, conditional=DATAGRID 31 33 datalist interfaceName=HTMLDataListElement, conditional=DATALIST … … 35 37 dd interfaceName=HTMLElement 36 38 del interfaceName=HTMLModElement 39 details interfaceName=HTMLElement 37 40 dfn interfaceName=HTMLElement 38 41 dir interfaceName=HTMLDirectoryElement … … 43 46 embed 44 47 fieldset interfaceName=HTMLFieldSetElement, constructorNeedsFormElement 48 figcaption interfaceName=HTMLElement 49 figure interfaceName=HTMLElement 45 50 font 46 51 footer interfaceName=HTMLElement … … 110 115 style constructorNeedsCreatedByParser 111 116 sub interfaceName=HTMLElement 117 summary interfaceName=HTMLElement 112 118 sup interfaceName=HTMLElement 113 119 table … … 120 126 title 121 127 tr interfaceName=HTMLTableRowElement 128 track interfaceName=HTMLElement 122 129 tt interfaceName=HTMLElement 123 130 u interfaceName=HTMLElement -
trunk/WebCore/html/HTMLTreeBuilder.cpp
r64001 r64018 120 120 || tagName == baseTag 121 121 || tagName == basefontTag 122 || tagName == "bgsound"122 || tagName == bgsoundTag 123 123 || tagName == blockquoteTag 124 124 || tagName == bodyTag … … 128 128 || tagName == colTag 129 129 || tagName == colgroupTag 130 || tagName == "command"130 || tagName == commandTag 131 131 || tagName == ddTag 132 || tagName == "details"132 || tagName == detailsTag 133 133 || tagName == dirTag 134 134 || tagName == divTag … … 137 137 || tagName == embedTag 138 138 || tagName == fieldsetTag 139 || tagName == "figure"139 || tagName == figureTag 140 140 || tagName == footerTag 141 141 || tagName == formTag … … 771 771 if (token.name() == baseTag 772 772 || token.name() == basefontTag 773 || token.name() == "bgsound"774 || token.name() == "command"773 || token.name() == bgsoundTag 774 || token.name() == commandTag 775 775 || token.name() == linkTag 776 776 || token.name() == metaTag … … 807 807 || token.name() == blockquoteTag 808 808 || token.name() == centerTag 809 || token.name() == "details"809 || token.name() == detailsTag 810 810 || token.name() == dirTag 811 811 || token.name() == divTag 812 812 || token.name() == dlTag 813 813 || token.name() == fieldsetTag 814 || token.name() == "figcaption"815 || token.name() == "figure"814 || token.name() == figcaptionTag 815 || token.name() == figureTag 816 816 || token.name() == footerTag 817 817 || token.name() == headerTag … … 822 822 || token.name() == pTag 823 823 || token.name() == sectionTag 824 || token.name() == "summary"824 || token.name() == summaryTag 825 825 || token.name() == ulTag) { 826 826 processFakePEndTagIfPInButtonScope(); … … 944 944 if (token.name() == paramTag 945 945 || token.name() == sourceTag 946 || token.name() == "track") {946 || token.name() == trackTag) { 947 947 m_tree.insertSelfClosingHTMLElement(token); 948 948 return; … … 1234 1234 if (token.name() == baseTag 1235 1235 || token.name() == basefontTag 1236 || token.name() == "bgsound"1236 || token.name() == bgsoundTag 1237 1237 || token.name() == linkTag 1238 1238 || token.name() == metaTag … … 1381 1381 } 1382 1382 if (token.name() == basefontTag 1383 || token.name() == "bgsound"1383 || token.name() == bgsoundTag 1384 1384 || token.name() == linkTag 1385 1385 || token.name() == metaTag … … 1941 1941 || token.name() == buttonTag 1942 1942 || token.name() == centerTag 1943 || token.name() == "details"1943 || token.name() == detailsTag 1944 1944 || token.name() == dirTag 1945 1945 || token.name() == divTag 1946 1946 || token.name() == dlTag 1947 1947 || token.name() == fieldsetTag 1948 || token.name() == "figure"1948 || token.name() == figureTag 1949 1949 || token.name() == footerTag 1950 1950 || token.name() == headerTag … … 2737 2737 return true; 2738 2738 } 2739 // FIXME: Atomize "command".2740 2739 if (token.name() == baseTag 2741 2740 || token.name() == basefontTag 2742 || token.name() == "bgsound"2743 || token.name() == "command"2741 || token.name() == bgsoundTag 2742 || token.name() == commandTag 2744 2743 || token.name() == linkTag 2745 2744 || token.name() == metaTag) {
Note: See TracChangeset
for help on using the changeset viewer.