OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
6 * (C) 2007 David Smith (catfish.man@gmail.com) | 6 * (C) 2007 David Smith (catfish.man@gmail.com) |
7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. | 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. |
8 * (C) 2007 Eric Seidel (eric@webkit.org) | 8 * (C) 2007 Eric Seidel (eric@webkit.org) |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 1749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1760 | 1760 |
1761 CustomElementDefinition* Element::customElementDefinition() const | 1761 CustomElementDefinition* Element::customElementDefinition() const |
1762 { | 1762 { |
1763 if (hasRareData()) | 1763 if (hasRareData()) |
1764 return elementRareData()->customElementDefinition(); | 1764 return elementRareData()->customElementDefinition(); |
1765 return nullptr; | 1765 return nullptr; |
1766 } | 1766 } |
1767 | 1767 |
1768 PassRefPtrWillBeRawPtr<ShadowRoot> Element::createShadowRoot(ExceptionState& exc
eptionState) | 1768 PassRefPtrWillBeRawPtr<ShadowRoot> Element::createShadowRoot(ExceptionState& exc
eptionState) |
1769 { | 1769 { |
1770 if (alwaysCreateUserAgentShadowRoot()) | 1770 if (alwaysCreateClosedShadowRoot()) |
1771 ensureUserAgentShadowRoot(); | 1771 ensureClosedShadowRoot(); |
1772 | 1772 |
1773 // Some elements make assumptions about what kind of renderers they allow | 1773 // Some elements make assumptions about what kind of renderers they allow |
1774 // as children so we can't allow author shadows on them for now. An override | 1774 // as children so we can't allow author shadows on them for now. An override |
1775 // flag is provided for testing how author shadows interact on these element
s. | 1775 // flag is provided for testing how author shadows interact on these element
s. |
1776 if (!areAuthorShadowsAllowed() && !RuntimeEnabledFeatures::authorShadowDOMFo
rAnyElementEnabled()) { | 1776 if (!areAuthorShadowsAllowed() && !RuntimeEnabledFeatures::authorShadowDOMFo
rAnyElementEnabled()) { |
1777 exceptionState.throwDOMException(HierarchyRequestError, "Author-created
shadow roots are disabled for this element."); | 1777 exceptionState.throwDOMException(HierarchyRequestError, "Author-created
shadow roots are disabled for this element."); |
1778 return nullptr; | 1778 return nullptr; |
1779 } | 1779 } |
1780 | 1780 |
1781 return PassRefPtrWillBeRawPtr<ShadowRoot>(ensureShadow().addShadowRoot(*this
, ShadowRoot::AuthorShadowRoot)); | 1781 return PassRefPtrWillBeRawPtr<ShadowRoot>(ensureShadow().addShadowRoot(*this
, ShadowRoot::OpenShadowRoot)); |
1782 } | 1782 } |
1783 | 1783 |
1784 ShadowRoot* Element::shadowRoot() const | 1784 ShadowRoot* Element::shadowRoot() const |
1785 { | 1785 { |
1786 ElementShadow* elementShadow = shadow(); | 1786 ElementShadow* elementShadow = shadow(); |
1787 if (!elementShadow) | 1787 if (!elementShadow) |
1788 return nullptr; | 1788 return nullptr; |
1789 ShadowRoot* shadowRoot = elementShadow->youngestShadowRoot(); | 1789 ShadowRoot* shadowRoot = elementShadow->youngestShadowRoot(); |
1790 if (shadowRoot->type() == ShadowRoot::AuthorShadowRoot) | 1790 if (shadowRoot->type() == ShadowRoot::OpenShadowRoot) |
1791 return shadowRoot; | 1791 return shadowRoot; |
1792 return nullptr; | 1792 return nullptr; |
1793 } | 1793 } |
1794 | 1794 |
1795 ShadowRoot* Element::userAgentShadowRoot() const | 1795 ShadowRoot* Element::closedShadowRoot() const |
1796 { | 1796 { |
1797 if (ElementShadow* elementShadow = shadow()) { | 1797 if (ElementShadow* elementShadow = shadow()) { |
1798 if (ShadowRoot* shadowRoot = elementShadow->oldestShadowRoot()) { | 1798 if (ShadowRoot* shadowRoot = elementShadow->oldestShadowRoot()) { |
1799 ASSERT(shadowRoot->type() == ShadowRoot::UserAgentShadowRoot); | 1799 ASSERT(shadowRoot->type() == ShadowRoot::ClosedShadowRoot); |
1800 return shadowRoot; | 1800 return shadowRoot; |
1801 } | 1801 } |
1802 } | 1802 } |
1803 | 1803 |
1804 return nullptr; | 1804 return nullptr; |
1805 } | 1805 } |
1806 | 1806 |
1807 ShadowRoot& Element::ensureUserAgentShadowRoot() | 1807 ShadowRoot& Element::ensureClosedShadowRoot() |
1808 { | 1808 { |
1809 if (ShadowRoot* shadowRoot = userAgentShadowRoot()) | 1809 if (ShadowRoot* shadowRoot = closedShadowRoot()) |
1810 return *shadowRoot; | 1810 return *shadowRoot; |
1811 ShadowRoot& shadowRoot = ensureShadow().addShadowRoot(*this, ShadowRoot::Use
rAgentShadowRoot); | 1811 ShadowRoot& shadowRoot = ensureShadow().addShadowRoot(*this, ShadowRoot::Clo
sedShadowRoot); |
1812 didAddUserAgentShadowRoot(shadowRoot); | 1812 didAddClosedShadowRoot(shadowRoot); |
1813 return shadowRoot; | 1813 return shadowRoot; |
1814 } | 1814 } |
1815 | 1815 |
1816 bool Element::childTypeAllowed(NodeType type) const | 1816 bool Element::childTypeAllowed(NodeType type) const |
1817 { | 1817 { |
1818 switch (type) { | 1818 switch (type) { |
1819 case ELEMENT_NODE: | 1819 case ELEMENT_NODE: |
1820 case TEXT_NODE: | 1820 case TEXT_NODE: |
1821 case COMMENT_NODE: | 1821 case COMMENT_NODE: |
1822 case PROCESSING_INSTRUCTION_NODE: | 1822 case PROCESSING_INSTRUCTION_NODE: |
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2462 content.append(toText(child)->data()); | 2462 content.append(toText(child)->data()); |
2463 } | 2463 } |
2464 | 2464 |
2465 ASSERT(content.length() == totalLength); | 2465 ASSERT(content.length() == totalLength); |
2466 return content.toString(); | 2466 return content.toString(); |
2467 } | 2467 } |
2468 | 2468 |
2469 const AtomicString& Element::shadowPseudoId() const | 2469 const AtomicString& Element::shadowPseudoId() const |
2470 { | 2470 { |
2471 if (ShadowRoot* root = containingShadowRoot()) { | 2471 if (ShadowRoot* root = containingShadowRoot()) { |
2472 if (root->type() == ShadowRoot::UserAgentShadowRoot) | 2472 if (root->type() == ShadowRoot::ClosedShadowRoot) |
2473 return fastGetAttribute(pseudoAttr); | 2473 return fastGetAttribute(pseudoAttr); |
2474 } | 2474 } |
2475 return nullAtom; | 2475 return nullAtom; |
2476 } | 2476 } |
2477 | 2477 |
2478 void Element::setShadowPseudoId(const AtomicString& id) | 2478 void Element::setShadowPseudoId(const AtomicString& id) |
2479 { | 2479 { |
2480 ASSERT(CSSSelector::parsePseudoType(id, false) == CSSSelector::PseudoWebKitC
ustomElement); | 2480 ASSERT(CSSSelector::parsePseudoType(id, false) == CSSSelector::PseudoWebKitC
ustomElement); |
2481 setAttribute(pseudoAttr, id); | 2481 setAttribute(pseudoAttr, id); |
2482 } | 2482 } |
(...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3370 { | 3370 { |
3371 #if ENABLE(OILPAN) | 3371 #if ENABLE(OILPAN) |
3372 if (hasRareData()) | 3372 if (hasRareData()) |
3373 visitor->trace(elementRareData()); | 3373 visitor->trace(elementRareData()); |
3374 visitor->trace(m_elementData); | 3374 visitor->trace(m_elementData); |
3375 #endif | 3375 #endif |
3376 ContainerNode::trace(visitor); | 3376 ContainerNode::trace(visitor); |
3377 } | 3377 } |
3378 | 3378 |
3379 } // namespace blink | 3379 } // namespace blink |
OLD | NEW |