Changeset 116730 in webkit


Ignore:
Timestamp:
May 10, 2012 10:35:12 PM (12 years ago)
Author:
morrita@google.com
Message:

ElementShadow should minimize the usage of "ShadowRoot" name
https://bugs.webkit.org/show_bug.cgi?id=85970

Reviewed by Dimitri Glazkov.

.:

Removed symbols which no longer exists

  • Source/autotools/symbols.filter:

Source/WebCore:

This change cleans two out dated assumptions which brought in at
early stage of Shadow DOM implementation.

  • Removed Element::hasShadowRoot(): shadow existence can be checked by Element::shadow().
  • Made ElementShadow::removeAllShadowRoots() private: we no longer allow ShadowRoot removal. It can only happens at the ElementShadow destruction.

Most of changes in element implementations are basically simple
replacement from hasShadowRoot() to shadow().

No new tests. Covered by existing tests.

  • WebCore.exp.in:
  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::collectDescendant):

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseChild):

  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):

  • dom/Element.cpp:

(WebCore::Element::recalcStyle):
(WebCore::Element::ensureShadowRoot):
(WebCore::Element::childrenChanged):

  • dom/Element.h:

(Element):
(WebCore::isShadowHost):
(WebCore):

  • dom/ElementShadow.cpp:

(WebCore::ElementShadow::~ElementShadow):
(WebCore::ElementShadow::removeAllShadowRoots):

  • dom/ElementShadow.h:

(ElementShadow):
(WebCore::ElementShadow::host):

  • dom/EventDispatcher.cpp:
  • dom/Node.cpp:

(WebCore::oldestShadowRootFor):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::create):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::createShadowSubtree):

  • html/FileInputType.cpp:

(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::multipleAttributeChanged):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::createShadowSubtree):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::createShadowSubtree):

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::HTMLKeygenElement):
(WebCore::HTMLKeygenElement::shadowSelect):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::hasMediaControls):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::createShadowSubtree):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::createShadowSubtree):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::createShadowSubtree):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::createShadowSubtree):

  • html/InputType.cpp:

(WebCore::InputType::destroyShadowSubtree):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::createShadowSubtree):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createShadowSubtree):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::trackLimiterElementOf):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):

  • page/FocusController.cpp:

(WebCore):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::uploadButton):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::updateReferencedText):
(WebCore::SVGTRefElement::detachTarget):

  • testing/Internals.cpp:

(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::youngestShadowRoot):
(WebCore::Internals::oldestShadowRoot):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit2:

Removed symbols which no longer exists

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

Removed tests cases which exercise shadow root removals.
Such functionality was only available from Internals object
and it made little sense to test it.

  • fast/dom/shadow/content-element-move-expected.txt:
  • fast/dom/shadow/content-element-move.html:
  • fast/dom/shadow/dynamically-created-shadow-root-expected.html:
  • fast/dom/shadow/dynamically-created-shadow-root.html:
  • fast/dom/shadow/layout-tests-can-access-shadow-expected.txt:
  • fast/dom/shadow/layout-tests-can-access-shadow.html:
  • fast/dom/shadow/multiple-shadowroot-expected.txt:
  • fast/dom/shadow/multiple-shadowroot.html:
Location:
trunk
Files:
48 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r116729 r116730  
     12012-05-10  MORITA Hajime  <morrita@google.com>
     2
     3        ElementShadow should minimize the usage of "ShadowRoot" name
     4        https://bugs.webkit.org/show_bug.cgi?id=85970
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        Removed symbols which no longer exists
     9
     10        * Source/autotools/symbols.filter:
     11
    1122012-05-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
    213
  • trunk/LayoutTests/ChangeLog

    r116729 r116730  
     12012-05-10  MORITA Hajime  <morrita@google.com>
     2
     3        ElementShadow should minimize the usage of "ShadowRoot" name
     4        https://bugs.webkit.org/show_bug.cgi?id=85970
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        Removed tests cases which exercise shadow root removals.
     9        Such functionality was only available from Internals object
     10        and it made little sense to test it.
     11
     12        * fast/dom/shadow/content-element-move-expected.txt:
     13        * fast/dom/shadow/content-element-move.html:
     14        * fast/dom/shadow/dynamically-created-shadow-root-expected.html:
     15        * fast/dom/shadow/dynamically-created-shadow-root.html:
     16        * fast/dom/shadow/layout-tests-can-access-shadow-expected.txt:
     17        * fast/dom/shadow/layout-tests-can-access-shadow.html:
     18        * fast/dom/shadow/multiple-shadowroot-expected.txt:
     19        * fast/dom/shadow/multiple-shadowroot.html:
     20
    1212012-05-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
    222
  • trunk/LayoutTests/fast/dom/shadow/content-element-move-expected.txt

    r109704 r116730  
    66PASS
    77testRemoveContentAndRemoveLightChildren
    8 PASS
    9 testRemoveContentAndRemoveShadowRoot1
    10 PASS
    11 testRemoveContentAndRemoveShadowRoot2
    128PASS
    139testAppendContent1
  • trunk/LayoutTests/fast/dom/shadow/content-element-move.html

    r110476 r116730  
    127127}
    128128
    129 function testRemoveShadowRoot(callIfDone) {
    130     var root = document.createElement('div');
    131 
    132     // Create light tree.
    133     root.innerHTML = "<span>LIGHT</span>";
    134 
    135     // Create shadow tree.
    136     var content = createContentWithSelect('span', 'FALLBACK');
    137     var sr = internals.ensureShadowRoot(root);
    138     sr.appendChild(createSpanWithText("BEFORE"));
    139     sr.appendChild(content);
    140     sr.appendChild(createSpanWithText("AFTER"));
    141 
    142     document.getElementById('actual-container').appendChild(root);
    143 
    144     var f = (function(root, content, callIfDone) {
    145         return function() {
    146             internals.removeShadowRoot(root);
    147             document.getElementById('expect-container').innerHTML = "<div><span>LIGHT</span></div>";
    148             callIfDone();
    149         };
    150     })(root, content, callIfDone);
    151 
    152     setTimeout(f, 0);
    153 }
    154 
    155 function testRemoveContentAndRemoveShadowRoot1(callIfDone) {
    156     var root = document.createElement('div');
    157 
    158     // Create light tree.
    159     root.innerHTML = "<span>LIGHT</span>";
    160 
    161     // Create shadow tree.
    162     var content = createContentWithSelect('span', 'FALLBACK');
    163     var sr = internals.ensureShadowRoot(root);
    164     sr.appendChild(createSpanWithText("BEFORE"));
    165     sr.appendChild(content);
    166     sr.appendChild(createSpanWithText("AFTER"));
    167 
    168     document.getElementById('actual-container').appendChild(root);
    169 
    170     var f = (function(root, content, callIfDone) {
    171         return function() {
    172             content.parentNode.removeChild(content);
    173             internals.removeShadowRoot(root);
    174             document.getElementById('expect-container').innerHTML = "<div><span>LIGHT</span></div>";
    175             callIfDone();
    176         };
    177     })(root, content, callIfDone);
    178 
    179     setTimeout(f, 0);
    180 }
    181 
    182 function testRemoveContentAndRemoveShadowRoot2(callIfDone) {
    183     var root = document.createElement('div');
    184 
    185     // Create light tree.
    186     root.innerHTML = "<span>LIGHT 1</span><span class='c1'>LIGHT 2</span>";
    187 
    188     // Create shadow tree.
    189     var content = createContentWithSelect('.c1', 'FALLBACK');
    190     var sr = internals.ensureShadowRoot(root);
    191     sr.appendChild(createSpanWithText("BEFORE"));
    192     sr.appendChild(content);
    193     sr.appendChild(createSpanWithText("AFTER"));
    194 
    195     document.getElementById('actual-container').appendChild(root);
    196 
    197     var f = (function(root, content, callIfDone) {
    198         return function() {
    199             content.parentNode.removeChild(content);
    200             internals.removeShadowRoot(root);
    201             document.getElementById('expect-container').innerHTML = "<div><span>LIGHT 1</span><span>LIGHT 2</span></div>";
    202             callIfDone();
    203         };
    204     })(root, content, callIfDone);
    205 
    206     setTimeout(f, 0);
    207 }
    208 
    209129function testAppendContent1(callIfDone) {
    210130    var root = document.createElement('div');
     
    387307    testRemoveContentToRecalc2,
    388308    testRemoveContentAndRemoveLightChildren,
    389     testRemoveContentAndRemoveShadowRoot1,
    390     testRemoveContentAndRemoveShadowRoot2,
    391309    testAppendContent1,
    392310    testAppendContent2,
  • trunk/LayoutTests/fast/dom/shadow/dynamically-created-shadow-root-expected.html

    r106336 r116730  
    66</div>
    77<div>Shadow should be rendered.</div>
    8 <div>Light children should be rendered after a shadow root is removed.</div>
    98</body>
    109</html>
  • trunk/LayoutTests/fast/dom/shadow/dynamically-created-shadow-root.html

    r106336 r116730  
    66</div>
    77<div id="host1">Light children should not be rendered.</div>
    8 <div id="host2">Light children should be rendered after a shadow root is removed.</div>
    98<script>
    109if (window.internals) {
     
    1211    var shadowRoot = window.internals.ensureShadowRoot(host1);
    1312    shadowRoot.appendChild(document.createTextNode('Shadow should be rendered.'));
    14 
    15     var host2 = document.querySelector('#host2');
    16     var shadowRoot = window.internals.ensureShadowRoot(host2);
    17     shadowRoot.appendChild(document.createTextNode('Shadow should not be rendered.'));
    18     window.internals.removeShadowRoot(host2);
    1913}
    2014</script>
  • trunk/LayoutTests/fast/dom/shadow/layout-tests-can-access-shadow-expected.txt

    r89682 r116730  
    77PASS shadow.nodeName is "#shadow-root"
    88PASS shadow === internals.shadowRoot(p) is true
    9 PASS internals.shadowRoot(keygen) is null
    109PASS successfullyParsed is true
    1110
  • trunk/LayoutTests/fast/dom/shadow/layout-tests-can-access-shadow.html

    r98407 r116730  
    3636    shouldBe('shadow.nodeName', '"#shadow-root"');
    3737    shouldBe('shadow === internals.shadowRoot(p)', 'true');
    38 
    39     // Can strip elements of shadows
    40     internals.removeShadowRoot(keygen);
    41     shouldBe('internals.shadowRoot(keygen)', 'null');
    4238}
    4339</script>
  • trunk/LayoutTests/fast/dom/shadow/multiple-shadowroot-expected.txt

    r109096 r116730  
    1111PASS internals.shadowRoot(div) is shadowRoot3
    1212PASS internals.olderShadowRoot(shadowRoot3) is shadowRoot2
    13 PASS internals.shadowRoot(div) is null
    1413PASS successfullyParsed is true
    1514
  • trunk/LayoutTests/fast/dom/shadow/multiple-shadowroot.html

    r111155 r116730  
    2222shouldBe("internals.olderShadowRoot(shadowRoot3)", "shadowRoot2");
    2323
    24 internals.removeShadowRoot(div);
    25 shouldBe("internals.shadowRoot(div)", "null");
    26 
    2724var successfullyParsed = true;
    2825</script>
  • trunk/Source/WebCore/ChangeLog

    r116729 r116730  
     12012-05-10  MORITA Hajime  <morrita@google.com>
     2
     3        ElementShadow should minimize the usage of "ShadowRoot" name
     4        https://bugs.webkit.org/show_bug.cgi?id=85970
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        This change cleans two out dated assumptions which brought in at
     9        early stage of Shadow DOM implementation.
     10
     11        - Removed Element::hasShadowRoot(): shadow existence can be checked by Element::shadow().
     12        - Made ElementShadow::removeAllShadowRoots() private: we no longer allow ShadowRoot removal.
     13          It can only happens at the ElementShadow destruction.
     14
     15        Most of changes in element implementations are basically simple
     16        replacement from hasShadowRoot() to shadow().
     17
     18        No new tests. Covered by existing tests.
     19
     20        * WebCore.exp.in:
     21        * dom/ContainerNodeAlgorithms.h:
     22        (WebCore::ChildFrameDisconnector::collectDescendant):
     23        * dom/ComposedShadowTreeWalker.cpp:
     24        (WebCore::ComposedShadowTreeWalker::traverseChild):
     25        * dom/Document.cpp:
     26        (WebCore::Document::buildAccessKeyMap):
     27        * dom/Element.cpp:
     28        (WebCore::Element::recalcStyle):
     29        (WebCore::Element::ensureShadowRoot):
     30        (WebCore::Element::childrenChanged):
     31        * dom/Element.h:
     32        (Element):
     33        (WebCore::isShadowHost):
     34        (WebCore):
     35        * dom/ElementShadow.cpp:
     36        (WebCore::ElementShadow::~ElementShadow):
     37        (WebCore::ElementShadow::removeAllShadowRoots):
     38        * dom/ElementShadow.h:
     39        (ElementShadow):
     40        (WebCore::ElementShadow::host):
     41        * dom/EventDispatcher.cpp:
     42        * dom/Node.cpp:
     43        (WebCore::oldestShadowRootFor):
     44        * dom/NodeRenderingContext.cpp:
     45        (WebCore::NodeRenderingContext::NodeRenderingContext):
     46        * dom/ShadowRoot.cpp:
     47        (WebCore::ShadowRoot::create):
     48        * html/ColorInputType.cpp:
     49        (WebCore::ColorInputType::createShadowSubtree):
     50        * html/FileInputType.cpp:
     51        (WebCore::FileInputType::createShadowSubtree):
     52        (WebCore::FileInputType::multipleAttributeChanged):
     53        * html/HTMLDetailsElement.cpp:
     54        (WebCore::HTMLDetailsElement::createShadowSubtree):
     55        * html/HTMLInputElement.cpp:
     56        (WebCore::HTMLInputElement::createShadowSubtree):
     57        * html/HTMLKeygenElement.cpp:
     58        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
     59        (WebCore::HTMLKeygenElement::shadowSelect):
     60        * html/HTMLMediaElement.cpp:
     61        (WebCore::HTMLMediaElement::hasMediaControls):
     62        * html/HTMLMeterElement.cpp:
     63        (WebCore::HTMLMeterElement::createShadowSubtree):
     64        * html/HTMLProgressElement.cpp:
     65        (WebCore::HTMLProgressElement::createShadowSubtree):
     66        * html/HTMLSummaryElement.cpp:
     67        (WebCore::HTMLSummaryElement::createShadowSubtree):
     68        * html/HTMLTextAreaElement.cpp:
     69        (WebCore::HTMLTextAreaElement::createShadowSubtree):
     70        * html/InputType.cpp:
     71        (WebCore::InputType::destroyShadowSubtree):
     72        * html/RangeInputType.cpp:
     73        (WebCore::RangeInputType::handleMouseDownEvent):
     74        (WebCore::RangeInputType::createShadowSubtree):
     75        * html/TextFieldInputType.cpp:
     76        (WebCore::TextFieldInputType::createShadowSubtree):
     77        * html/shadow/SliderThumbElement.cpp:
     78        (WebCore::trackLimiterElementOf):
     79        * inspector/InspectorDOMAgent.cpp:
     80        (WebCore::InspectorDOMAgent::unbind):
     81        (WebCore::InspectorDOMAgent::buildObjectForNode):
     82        * page/FocusController.cpp:
     83        (WebCore):
     84        * rendering/RenderFileUploadControl.cpp:
     85        (WebCore::RenderFileUploadControl::uploadButton):
     86        * svg/SVGTRefElement.cpp:
     87        (WebCore::SVGTRefElement::updateReferencedText):
     88        (WebCore::SVGTRefElement::detachTarget):
     89        * testing/Internals.cpp:
     90        (WebCore::Internals::ensureShadowRoot):
     91        (WebCore::Internals::youngestShadowRoot):
     92        (WebCore::Internals::oldestShadowRoot):
     93        * testing/Internals.h:
     94        (Internals):
     95        * testing/Internals.idl:
     96
    1972012-05-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
    298
  • trunk/Source/WebCore/WebCore.exp.in

    r116705 r116730  
    303303__ZN7WebCore13AXObjectCache23focusedUIElementForPageEPKNS_4PageE
    304304__ZN7WebCore13AXObjectCache42gAccessibilityEnhancedUserInterfaceEnabledE
    305 __ZN7WebCore13ElementShadow20removeAllShadowRootsEv
    306305__ZN7WebCore13HTTPHeaderMapC1Ev
    307306__ZN7WebCore13HTTPHeaderMapD1Ev
     
    14851484__ZNK7WebCore7Element6shadowEv
    14861485__ZNK7WebCore7Element12getAttributeERKNS_13QualifiedNameE
    1487 __ZNK7WebCore7Element13hasShadowRootEv
    14881486__ZNK7WebCore7IntRect10intersectsERKS0_
    14891487__ZNK7WebCore7IntRect8containsERKS0_
  • trunk/Source/WebCore/dom/ComposedShadowTreeWalker.cpp

    r116277 r116730  
    3636namespace WebCore {
    3737
    38 static inline bool isShadowHost(const Node* node)
    39 {
    40     return node && node->isElementNode() && toElement(node)->hasShadowRoot();
    41 }
    42 
    4338static inline ElementShadow* shadowFor(const Node* node)
    4439{
     
    10095    if (canCrossUpperBoundary()) {
    10196        ElementShadow* shadow = shadowFor(node);
    102         return (shadow && shadow->hasShadowRoot()) ? traverseLightChildren(shadow->youngestShadowRoot(), direction)
     97        return shadow ? traverseLightChildren(shadow->youngestShadowRoot(), direction)
    10398            : traverseLightChildren(node, direction);
    10499    }
  • trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h

    r116629 r116730  
    306306        if (element->isFrameOwnerElement())
    307307            m_list.append(node);
    308         if (element->hasShadowRoot())
    309             collectDescendant(element->shadow());
     308        if (ElementShadow* shadow = element->shadow())
     309            collectDescendant(shadow);
    310310    }
    311311}
  • trunk/Source/WebCore/dom/Document.cpp

    r116724 r116730  
    713713            m_elementsByAccessKey.set(accessKey.impl(), element);
    714714
    715         if (element->hasShadowRoot()) {
    716             for (ShadowRoot* root = element->shadow()->youngestShadowRoot(); root; root = root->olderShadowRoot())
     715        if (ElementShadow* shadow = element->shadow()) {
     716            for (ShadowRoot* root = shadow->youngestShadowRoot(); root; root = root->olderShadowRoot())
    717717                buildAccessKeyMap(root);
    718718        }
  • trunk/Source/WebCore/dom/Element.cpp

    r116629 r116730  
    11411141
    11421142    // FIXME: This does not care about sibling combinators. Will be necessary in XBL2 world.
    1143     if (hasShadowRoot()) {
    1144         ElementShadow* shadow = this->shadow();
     1143    if (ElementShadow* shadow = this->shadow()) {
    11451144        if (change >= Inherit || shadow->childNeedsStyleRecalc() || shadow->needsStyleRecalc()) {
    11461145            parentPusher.push();
     
    11801179}
    11811180
    1182 bool Element::hasShadowRoot() const
    1183 {
    1184     if (ElementShadow* shadow = this->shadow())
    1185         return shadow->hasShadowRoot();
    1186     return false;
    1187 }
    1188 
    11891181ElementShadow* Element::shadow() const
    11901182{
     
    12061198ShadowRoot* Element::ensureShadowRoot()
    12071199{
    1208     if (hasShadowRoot())
    1209         return shadow()->oldestShadowRoot();
     1200    if (ElementShadow* shadow = this->shadow())
     1201        return shadow->oldestShadowRoot();
    12101202
    12111203    return ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot).get();
     
    13421334        checkForSiblingStyleChanges(this, renderStyle(), false, beforeChange, afterChange, childCountDelta);
    13431335
    1344     if (hasRareData()) {
    1345         if (hasShadowRoot())
    1346             shadow()->hostChildrenChanged();
    1347     }
     1336    if (ElementShadow * shadow = this->shadow())
     1337        shadow->hostChildrenChanged();
    13481338}
    13491339
  • trunk/Source/WebCore/dom/Element.h

    r116629 r116730  
    262262    void recalcStyle(StyleChange = NoChange);
    263263
    264     bool hasShadowRoot() const;
    265264    ElementShadow* shadow() const;
    266265    ElementShadow* ensureShadow();
     
    715714}
    716715
     716inline bool isShadowHost(const Node* node)
     717{
     718    return node && node->isElementNode() && toElement(node)->shadow();
     719}
     720
    717721} // namespace
    718722
  • trunk/Source/WebCore/dom/ElementShadow.cpp

    r116629 r116730  
    4747ElementShadow::~ElementShadow()
    4848{
    49     if (hasShadowRoot())
    50         removeAllShadowRoots();
     49    removeAllShadowRoots();
    5150}
    5251
     
    9291void ElementShadow::removeAllShadowRoots()
    9392{
    94     if (!hasShadowRoot())
    95         return;
    96 
    9793    // Dont protect this ref count.
    9894    Element* shadowHost = host();
  • trunk/Source/WebCore/dom/ElementShadow.h

    r116629 r116730  
    5151
    5252    Element* host() const;
    53 
    54     bool hasShadowRoot() const;
    5553    ShadowRoot* youngestShadowRoot() const;
    5654    ShadowRoot* oldestShadowRoot() const;
    5755
    5856    void addShadowRoot(Element* shadowHost, PassRefPtr<ShadowRoot>, ExceptionCode&);
    59     void removeAllShadowRoots();
    6057
    6158    void setParentTreeScope(TreeScope*);
     
    8380
    8481private:
     82    void removeAllShadowRoots();
    8583
    8684    DoublyLinkedList<ShadowRoot> m_shadowRoots;
     
    8987    WTF_MAKE_NONCOPYABLE(ElementShadow);
    9088};
    91 
    92 inline bool ElementShadow::hasShadowRoot() const
    93 {
    94     return !m_shadowRoots.isEmpty();
    95 }
    9689
    9790inline ShadowRoot* ElementShadow::youngestShadowRoot() const
     
    122115inline Element* ElementShadow::host() const
    123116{
    124     ASSERT(hasShadowRoot());
     117    ASSERT(!m_shadowRoots.isEmpty());
    125118    return youngestShadowRoot()->host();
    126119}
  • trunk/Source/WebCore/dom/EventDispatcher.cpp

    r110314 r116730  
    117117}
    118118
    119 static inline bool isShadowHost(Node* node)
    120 {
    121     return node->isElementNode() && toElement(node)->hasShadowRoot();
    122 }
    123 
    124119PassRefPtr<EventTarget> EventDispatcher::adjustToShadowBoundaries(PassRefPtr<Node> relatedTarget, const Vector<Node*> relatedTargetAncestors)
    125120{
  • trunk/Source/WebCore/dom/Node.cpp

    r116705 r116730  
    837837inline static ShadowRoot* oldestShadowRootFor(const Node* node)
    838838{
    839     return node->isElementNode() && toElement(node)->hasShadowRoot() ? toElement(node)->shadow()->oldestShadowRoot() : 0;
     839    if (!node->isElementNode())
     840        return 0;
     841    if (ElementShadow* shadow = toElement(node)->shadow())
     842        return shadow->oldestShadowRoot();
     843    return 0;
    840844}
    841845
  • trunk/Source/WebCore/dom/NodeRenderingContext.cpp

    r116277 r116730  
    7272
    7373    if (parent->isElementNode() || parent->isShadowRoot()) {
    74         if (parent->isElementNode() && toElement(parent)->hasShadowRoot())
     74        if (parent->isElementNode())
    7575            m_visualParentShadow = toElement(parent)->shadow();
    7676        else if (parent->isShadowRoot())
  • trunk/Source/WebCore/dom/ShadowRoot.cpp

    r116724 r116730  
    123123        return 0;
    124124    ASSERT(element == shadowRoot->host());
    125     ASSERT(element->hasShadowRoot());
     125    ASSERT(element->shadow());
    126126    return shadowRoot.release();
    127127}
  • trunk/Source/WebCore/html/ColorInputType.cpp

    r116277 r116730  
    108108void ColorInputType::createShadowSubtree()
    109109{
    110     ASSERT(element()->hasShadowRoot());
     110    ASSERT(element()->shadow());
    111111
    112112    Document* document = element()->document();
  • trunk/Source/WebCore/html/FileInputType.cpp

    r116592 r116730  
    296296void FileInputType::createShadowSubtree()
    297297{
    298     ASSERT(element()->hasShadowRoot());
     298    ASSERT(element()->shadow());
    299299    ExceptionCode ec = 0;
    300300    element()->shadow()->oldestShadowRoot()->appendChild(element()->multiple() ? UploadButtonElement::createForMultiple(element()->document()): UploadButtonElement::create(element()->document()), ec);
     
    303303void FileInputType::multipleAttributeChanged()
    304304{
    305     ASSERT(element()->hasShadowRoot());
     305    ASSERT(element()->shadow());
    306306    UploadButtonElement* button = static_cast<UploadButtonElement*>(element()->shadow()->oldestShadowRoot()->firstChild());
    307307    if (button)
  • trunk/Source/WebCore/html/HTMLDetailsElement.cpp

    r116277 r116730  
    111111void HTMLDetailsElement::createShadowSubtree()
    112112{
    113     ASSERT(!hasShadowRoot());
     113    ASSERT(!shadow());
    114114
    115115    RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot);
  • trunk/Source/WebCore/html/HTMLInputElement.cpp

    r116615 r116730  
    111111void HTMLInputElement::createShadowSubtree()
    112112{
    113     ASSERT(!hasShadowRoot());
     113    ASSERT(!shadow());
    114114    ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);
    115115
  • trunk/Source/WebCore/html/HTMLKeygenElement.cpp

    r116277 r116730  
    8787    }
    8888
    89     ASSERT(!hasShadowRoot());
     89    ASSERT(!shadow());
    9090    RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot);
    9191    root->appendChild(select, ec);
     
    132132HTMLSelectElement* HTMLKeygenElement::shadowSelect() const
    133133{
    134     ASSERT(hasShadowRoot());
    135134    ShadowRoot* root = this->shadow()->oldestShadowRoot();
    136135    return root ? toHTMLSelectElement(root->firstChild()) : 0;
  • trunk/Source/WebCore/html/HTMLMediaElement.cpp

    r116629 r116730  
    40744074bool HTMLMediaElement::hasMediaControls()
    40754075{
    4076     if (!hasShadowRoot())
     4076    ElementShadow* elementShadow = shadow();
     4077    if (!elementShadow)
    40774078        return false;
    40784079
    4079     Node* node = shadow()->oldestShadowRoot()->firstChild();
     4080    Node* node = elementShadow->oldestShadowRoot()->firstChild();
    40804081    return node && node->isMediaControls();
    40814082}
  • trunk/Source/WebCore/html/HTMLMeterElement.cpp

    r113555 r116730  
    229229void HTMLMeterElement::createShadowSubtree()
    230230{
    231     ASSERT(!hasShadowRoot());
     231    ASSERT(!shadow());
    232232
    233233    RefPtr<MeterBarElement> bar = MeterBarElement::create(document());
  • trunk/Source/WebCore/html/HTMLProgressElement.cpp

    r111500 r116730  
    152152void HTMLProgressElement::createShadowSubtree()
    153153{
    154     ASSERT(!hasShadowRoot());
     154    ASSERT(!shadow());
    155155
    156156    RefPtr<ProgressBarElement> bar = ProgressBarElement::create(document());
  • trunk/Source/WebCore/html/HTMLSummaryElement.cpp

    r116277 r116730  
    8181void HTMLSummaryElement::createShadowSubtree()
    8282{
    83     ASSERT(!hasShadowRoot());
     83    ASSERT(!shadow());
    8484    RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot);
    8585    root->appendChild(DetailsMarkerControl::create(document()), ASSERT_NO_EXCEPTION, true);
  • trunk/Source/WebCore/html/HTMLTextAreaElement.cpp

    r116277 r116730  
    8686void HTMLTextAreaElement::createShadowSubtree()
    8787{
    88     ASSERT(!hasShadowRoot());
     88    ASSERT(!shadow());
    8989    RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot);
    9090    root->appendChild(TextControlInnerTextElement::create(document()), ASSERT_NO_EXCEPTION);
  • trunk/Source/WebCore/html/InputType.cpp

    r116615 r116730  
    396396void InputType::destroyShadowSubtree()
    397397{
    398     if (!element()->hasShadowRoot())
     398    ElementShadow* shadow = element()->shadow();
     399    if (!shadow)
    399400        return;
    400401
    401     ShadowRoot* root = element()->shadow()->oldestShadowRoot();
    402     ASSERT(root);
     402    ShadowRoot* root = shadow->oldestShadowRoot();
    403403    root->removeAllChildren();
    404404
  • trunk/Source/WebCore/html/RangeInputType.cpp

    r116277 r116730  
    161161    if (event->button() != LeftButton || !targetNode)
    162162        return;
    163     ASSERT(element()->hasShadowRoot());
     163    ASSERT(element()->shadow());
    164164    if (targetNode != element() && !targetNode->isDescendantOf(element()->shadow()->oldestShadowRoot()))
    165165        return;
     
    238238void RangeInputType::createShadowSubtree()
    239239{
    240     ASSERT(element()->hasShadowRoot());
     240    ASSERT(element()->shadow());
    241241
    242242    Document* document = element()->document();
  • trunk/Source/WebCore/html/TextFieldInputType.cpp

    r116277 r116730  
    222222void TextFieldInputType::createShadowSubtree()
    223223{
    224     ASSERT(element()->hasShadowRoot());
     224    ASSERT(element()->shadow());
    225225
    226226    ASSERT(!m_innerText);
  • trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp

    r116277 r116730  
    359359{
    360360    ASSERT(node);
    361     ASSERT(node->toInputElement()->hasShadowRoot());
     361    ASSERT(node->toInputElement()->shadow());
    362362    ShadowRoot* shadow = node->toInputElement()->shadow()->oldestShadowRoot();
    363363    ASSERT(shadow);
  • trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp

    r116277 r116730  
    341341    }
    342342
    343     if (node->isElementNode() && toElement(node)->hasShadowRoot()) {
    344         for (ShadowRoot* root = toElement(node)->shadow()->youngestShadowRoot(); root; root = root->olderShadowRoot())
    345             unbind(root, nodesMap);
     343    if (node->isElementNode()) {
     344        if (ElementShadow* shadow = toElement(node)->shadow()) {
     345            for (ShadowRoot* root = shadow->youngestShadowRoot(); root; root = root->olderShadowRoot())
     346                unbind(root, nodesMap);
     347        }
    346348    }
    347349
     
    12271229                value->setContentDocument(buildObjectForNode(doc, 0, nodesMap));
    12281230        }
    1229         if (element->hasShadowRoot()) {
     1231
     1232        ElementShadow* shadow = element->shadow();
     1233        if (shadow) {
    12301234            RefPtr<TypeBuilder::Array<TypeBuilder::DOM::Node> > shadowRoots = TypeBuilder::Array<TypeBuilder::DOM::Node>::create();
    1231             for (ShadowRoot* root = element->shadow()->youngestShadowRoot(); root; root = root->olderShadowRoot())
     1235            for (ShadowRoot* root = shadow->youngestShadowRoot(); root; root = root->olderShadowRoot())
    12321236                shadowRoots->addItem(buildObjectForNode(root, 0, nodesMap));
    12331237            value->setShadowRoots(shadowRoots);
  • trunk/Source/WebCore/page/FocusController.cpp

    r116277 r116730  
    6666using namespace std;
    6767
    68 static inline bool isShadowHost(const Node* node)
    69 {
    70     return node && node->isElementNode() && toElement(node)->hasShadowRoot();
    71 }
    72 
    7368static inline ComposedShadowTreeWalker walkerFrom(const Node* node)
    7469{
  • trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp

    r116277 r116730  
    224224    HTMLInputElement* input = static_cast<HTMLInputElement*>(node());
    225225
    226     ASSERT(input->hasShadowRoot());
     226    ASSERT(input->shadow());
    227227
    228228    Node* buttonNode = input->shadow()->oldestShadowRoot()->firstChild();
  • trunk/Source/WebCore/svg/SVGTRefElement.cpp

    r116277 r116730  
    165165        textContent = target->textContent();
    166166
    167     ASSERT(hasShadowRoot());
     167    ASSERT(shadow());
    168168    ShadowRoot* root = shadow()->oldestShadowRoot();
    169169    if (!root->firstChild())
     
    181181    ExceptionCode ignore = 0;
    182182
    183     ASSERT(hasShadowRoot());
     183    ASSERT(shadow());
    184184    Node* container = shadow()->oldestShadowRoot()->firstChild();
    185185    if (container)
  • trunk/Source/WebCore/testing/Internals.cpp

    r116729 r116730  
    303303    }
    304304
    305     if (host->hasShadowRoot())
    306         return host->shadow()->youngestShadowRoot();
     305    if (ElementShadow* shadow = host->shadow())
     306        return shadow->youngestShadowRoot();
    307307
    308308    return ShadowRoot::create(host, ec).get();
     
    323323    }
    324324
    325     if (!host->hasShadowRoot())
    326         return 0;
    327 
    328     return host->shadow()->youngestShadowRoot();
     325    if (ElementShadow* shadow = host->shadow())
     326        return shadow->youngestShadowRoot();
     327    return 0;
    329328}
    330329
     
    336335    }
    337336
    338     if (!host->hasShadowRoot())
    339         return 0;
    340 
    341     return host->shadow()->oldestShadowRoot();
     337    if (ElementShadow* shadow = host->shadow())
     338        return shadow->oldestShadowRoot();
     339    return 0;
    342340}
    343341
     
    360358
    361359    return toShadowRoot(shadow)->olderShadowRoot();
    362 }
    363 
    364 void Internals::removeShadowRoot(Element* host, ExceptionCode& ec)
    365 {
    366     if (!host) {
    367         ec = INVALID_ACCESS_ERR;
    368         return;
    369     }
    370 
    371     if (host->hasShadowRoot())
    372         host->shadow()->removeAllShadowRoots();
    373360}
    374361
  • trunk/Source/WebCore/testing/Internals.h

    r116729 r116730  
    7676    ShadowRootIfShadowDOMEnabledOrNode* youngerShadowRoot(Node* shadow, ExceptionCode&);
    7777    ShadowRootIfShadowDOMEnabledOrNode* olderShadowRoot(Node* shadow, ExceptionCode&);
    78     void removeShadowRoot(Element* host, ExceptionCode&);
    7978    Element* includerFor(Node*, ExceptionCode&);
    8079    String shadowPseudoId(Element*, ExceptionCode&);
  • trunk/Source/WebCore/testing/Internals.idl

    r116729 r116730  
    5050#endif
    5151        Element includerFor(in Node node) raises (DOMException);
    52         void removeShadowRoot(in Element host) raises (DOMException);
    5352        DOMString shadowPseudoId(in Element element) raises (DOMException);
    5453        Element createContentElement(in Document document) raises(DOMException);
  • trunk/Source/WebKit2/ChangeLog

    r116729 r116730  
     12012-05-10  MORITA Hajime  <morrita@google.com>
     2
     3        ElementShadow should minimize the usage of "ShadowRoot" name
     4        https://bugs.webkit.org/show_bug.cgi?id=85970
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        Removed symbols which no longer exists
     9
     10        * win/WebKit2.def:
     11        * win/WebKit2CFLite.def:
     12
    1132012-05-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
    214
  • trunk/Source/WebKit2/win/WebKit2.def

    r116729 r116730  
    179179        ?getHighlight@InspectorController@WebCore@@QBEXPAUHighlight@2@@Z
    180180        ?getLocationAndLengthFromRange@TextIterator@WebCore@@SA_NPAVElement@2@PBVRange@2@AAI2@Z
    181         ?hasShadowRoot@Element@WebCore@@QBE_NXZ
    182181        ?inputTag@HTMLNames@WebCore@@3VQualifiedName@2@B
    183182        ?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@CAPAVInstrumentingAgents@2@PAVPage@2@@Z
     
    202201        ?placeholderShouldBeVisible@HTMLTextFormControlElement@WebCore@@QBE_NXZ
    203202        ?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PAVElement@2@HH_N@Z
    204         ?removeAllShadowRoots@ElementShadow@WebCore@@QAEXXZ
    205203        ?remove@String@WTF@@QAEXIH@Z
    206204        ?reverseFind@StringImpl@WTF@@QAEI_WI@Z
  • trunk/Source/WebKit2/win/WebKit2CFLite.def

    r116277 r116730  
    172172        ?getHighlight@InspectorController@WebCore@@QBEXPAUHighlight@2@@Z
    173173        ?getLocationAndLengthFromRange@TextIterator@WebCore@@SA_NPAVElement@2@PBVRange@2@AAI2@Z
    174         ?hasShadowRoot@Element@WebCore@@QBE_NXZ
    175174        ?inputTag@HTMLNames@WebCore@@3VQualifiedName@2@B
    176175        ?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@CAPAVInstrumentingAgents@2@PAVPage@2@@Z
     
    195194        ?placeholderShouldBeVisible@HTMLTextFormControlElement@WebCore@@QBE_NXZ
    196195        ?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PAVElement@2@HH_N@Z
    197         ?removeAllShadowRoots@ElementShadow@WebCore@@QAEXXZ
    198196        ?remove@String@WTF@@QAEXIH@Z
    199197        ?reverseFind@StringImpl@WTF@@QAEI_WI@Z
  • trunk/Source/autotools/symbols.filter

    r116729 r116730  
    4444_ZN7WebCore10ClientRectC1ERKNS_7IntRectE;
    4545_ZN7WebCore10ShadowRoot6createEPNS_7ElementERi;
    46 _ZN7WebCore13ElementShadow20removeAllShadowRootsEv;
    4746_ZN7WebCore11EventTarget17toGeneratedStreamEv;
    4847_ZN7WebCore11EventTarget8toStreamEv;
     
    10099_ZNK7WebCore6JSNode21pushEventHandlerScopeEPN3JSC9ExecStateEPNS1_14ScopeChainNodeE;
    101100_ZNK7WebCore7Element6shadowEv;
    102 _ZNK7WebCore7Element13hasShadowRootEv;
    103101_ZNK7WebCore8Document4pageEv;
    104102_ZNK7WebCore8Document8settingsEv;
Note: See TracChangeset for help on using the changeset viewer.