| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. |
| 3 * Copyright (C) 2011, 2014 Apple Inc. All rights reserved. | 3 * Copyright (C) 2011, 2014 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 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 641 if (!m_framesetOk) | 641 if (!m_framesetOk) |
| 642 return; | 642 return; |
| 643 m_tree.openElements()->bodyElement()->remove(ASSERT_NO_EXCEPTION); | 643 m_tree.openElements()->bodyElement()->remove(ASSERT_NO_EXCEPTION); |
| 644 m_tree.openElements()->popUntil(m_tree.openElements()->bodyElement()); | 644 m_tree.openElements()->popUntil(m_tree.openElements()->bodyElement()); |
| 645 m_tree.openElements()->popHTMLBodyElement(); | 645 m_tree.openElements()->popHTMLBodyElement(); |
| 646 ASSERT(m_tree.openElements()->top() == m_tree.openElements()->htmlElemen
t()); | 646 ASSERT(m_tree.openElements()->top() == m_tree.openElements()->htmlElemen
t()); |
| 647 m_tree.insertHTMLElement(token); | 647 m_tree.insertHTMLElement(token); |
| 648 setInsertionMode(InFramesetMode); | 648 setInsertionMode(InFramesetMode); |
| 649 return; | 649 return; |
| 650 } | 650 } |
| 651 if (RuntimeEnabledFeatures::contextMenuEnabled() && (token->name() == menuit
emTag || token->name() == menuTag || token->name() == hrTag)) { |
| 652 if (m_tree.currentStackItem()->hasTagName(menuitemTag)) { |
| 653 AtomicHTMLToken endOption(HTMLToken::EndTag, menuitemTag.localName()
); |
| 654 processEndTag(&endOption); |
| 655 } |
| 656 if (token->name() == hrTag) { |
| 657 processFakePEndTagIfPInButtonScope(); |
| 658 m_tree.insertSelfClosingHTMLElementDestroyingToken(token); |
| 659 m_framesetOk = false; |
| 660 return; |
| 661 } |
| 662 if (token->name() == menuTag) |
| 663 processFakePEndTagIfPInButtonScope(); |
| 664 m_tree.insertHTMLElement(token); |
| 665 return; |
| 666 } |
| 651 if (token->name() == addressTag | 667 if (token->name() == addressTag |
| 652 || token->name() == articleTag | 668 || token->name() == articleTag |
| 653 || token->name() == asideTag | 669 || token->name() == asideTag |
| 654 || token->name() == blockquoteTag | 670 || token->name() == blockquoteTag |
| 655 || token->name() == centerTag | 671 || token->name() == centerTag |
| 656 || token->name() == detailsTag | 672 || token->name() == detailsTag |
| 657 || token->name() == dirTag | 673 || token->name() == dirTag |
| 658 || token->name() == divTag | 674 || token->name() == divTag |
| 659 || token->name() == dlTag | 675 || token->name() == dlTag |
| 660 || token->name() == fieldsetTag | 676 || token->name() == fieldsetTag |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 802 Attribute* typeAttribute = token->getAttributeItem(typeAttr); | 818 Attribute* typeAttribute = token->getAttributeItem(typeAttr); |
| 803 bool disableFrameset = !typeAttribute || !equalIgnoringCase(typeAttribut
e->value(), "hidden"); | 819 bool disableFrameset = !typeAttribute || !equalIgnoringCase(typeAttribut
e->value(), "hidden"); |
| 804 | 820 |
| 805 m_tree.reconstructTheActiveFormattingElements(); | 821 m_tree.reconstructTheActiveFormattingElements(); |
| 806 m_tree.insertSelfClosingHTMLElementDestroyingToken(token); | 822 m_tree.insertSelfClosingHTMLElementDestroyingToken(token); |
| 807 | 823 |
| 808 if (disableFrameset) | 824 if (disableFrameset) |
| 809 m_framesetOk = false; | 825 m_framesetOk = false; |
| 810 return; | 826 return; |
| 811 } | 827 } |
| 812 if ((RuntimeEnabledFeatures::contextMenuEnabled() && token->name() == menuit
emTag) | 828 if (token->name() == paramTag |
| 813 || token->name() == paramTag | |
| 814 || token->name() == sourceTag | 829 || token->name() == sourceTag |
| 815 || token->name() == trackTag) { | 830 || token->name() == trackTag) { |
| 816 m_tree.insertSelfClosingHTMLElementDestroyingToken(token); | 831 m_tree.insertSelfClosingHTMLElementDestroyingToken(token); |
| 817 return; | 832 return; |
| 818 } | 833 } |
| 819 if (token->name() == hrTag) { | 834 if (token->name() == hrTag) { |
| 820 processFakePEndTagIfPInButtonScope(); | 835 processFakePEndTagIfPInButtonScope(); |
| 821 m_tree.insertSelfClosingHTMLElementDestroyingToken(token); | 836 m_tree.insertSelfClosingHTMLElementDestroyingToken(token); |
| 822 m_framesetOk = false; | 837 m_framesetOk = false; |
| 823 return; | 838 return; |
| (...skipping 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1887 } | 1902 } |
| 1888 if (token->name() == brTag) { | 1903 if (token->name() == brTag) { |
| 1889 parseError(token); | 1904 parseError(token); |
| 1890 processFakeStartTag(brTag); | 1905 processFakeStartTag(brTag); |
| 1891 return; | 1906 return; |
| 1892 } | 1907 } |
| 1893 if (token->name() == templateTag) { | 1908 if (token->name() == templateTag) { |
| 1894 processTemplateEndTag(token); | 1909 processTemplateEndTag(token); |
| 1895 return; | 1910 return; |
| 1896 } | 1911 } |
| 1912 if (RuntimeEnabledFeatures::contextMenuEnabled() && token->name() == menuite
mTag) { |
| 1913 if (m_tree.currentStackItem()->hasTagName(menuitemTag)) { |
| 1914 m_tree.openElements()->pop(); |
| 1915 return; |
| 1916 } |
| 1917 parseError(token); |
| 1918 return; |
| 1919 } |
| 1897 processAnyOtherEndTagForInBody(token); | 1920 processAnyOtherEndTagForInBody(token); |
| 1898 } | 1921 } |
| 1899 | 1922 |
| 1900 bool HTMLTreeBuilder::processCaptionEndTagForInCaption() | 1923 bool HTMLTreeBuilder::processCaptionEndTagForInCaption() |
| 1901 { | 1924 { |
| 1902 if (!m_tree.openElements()->inTableScope(captionTag.localName())) { | 1925 if (!m_tree.openElements()->inTableScope(captionTag.localName())) { |
| 1903 ASSERT(isParsingFragment()); | 1926 ASSERT(isParsingFragment()); |
| 1904 // FIXME: parse error | 1927 // FIXME: parse error |
| 1905 return false; | 1928 return false; |
| 1906 } | 1929 } |
| (...skipping 912 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2819 ASSERT(m_isAttached); | 2842 ASSERT(m_isAttached); |
| 2820 // Warning, this may detach the parser. Do not do anything else after this. | 2843 // Warning, this may detach the parser. Do not do anything else after this. |
| 2821 m_tree.finishedParsing(); | 2844 m_tree.finishedParsing(); |
| 2822 } | 2845 } |
| 2823 | 2846 |
| 2824 void HTMLTreeBuilder::parseError(AtomicHTMLToken*) | 2847 void HTMLTreeBuilder::parseError(AtomicHTMLToken*) |
| 2825 { | 2848 { |
| 2826 } | 2849 } |
| 2827 | 2850 |
| 2828 } // namespace blink | 2851 } // namespace blink |
| OLD | NEW |