Changeset 116730 in webkit
- Timestamp:
- May 10, 2012 10:35:12 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 48 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r116729 r116730 1 2012-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 1 12 2012-05-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2 13 -
trunk/LayoutTests/ChangeLog
r116729 r116730 1 2012-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 1 21 2012-05-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2 22 -
trunk/LayoutTests/fast/dom/shadow/content-element-move-expected.txt
r109704 r116730 6 6 PASS 7 7 testRemoveContentAndRemoveLightChildren 8 PASS9 testRemoveContentAndRemoveShadowRoot110 PASS11 testRemoveContentAndRemoveShadowRoot212 8 PASS 13 9 testAppendContent1 -
trunk/LayoutTests/fast/dom/shadow/content-element-move.html
r110476 r116730 127 127 } 128 128 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 209 129 function testAppendContent1(callIfDone) { 210 130 var root = document.createElement('div'); … … 387 307 testRemoveContentToRecalc2, 388 308 testRemoveContentAndRemoveLightChildren, 389 testRemoveContentAndRemoveShadowRoot1,390 testRemoveContentAndRemoveShadowRoot2,391 309 testAppendContent1, 392 310 testAppendContent2, -
trunk/LayoutTests/fast/dom/shadow/dynamically-created-shadow-root-expected.html
r106336 r116730 6 6 </div> 7 7 <div>Shadow should be rendered.</div> 8 <div>Light children should be rendered after a shadow root is removed.</div>9 8 </body> 10 9 </html> -
trunk/LayoutTests/fast/dom/shadow/dynamically-created-shadow-root.html
r106336 r116730 6 6 </div> 7 7 <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>9 8 <script> 10 9 if (window.internals) { … … 12 11 var shadowRoot = window.internals.ensureShadowRoot(host1); 13 12 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);19 13 } 20 14 </script> -
trunk/LayoutTests/fast/dom/shadow/layout-tests-can-access-shadow-expected.txt
r89682 r116730 7 7 PASS shadow.nodeName is "#shadow-root" 8 8 PASS shadow === internals.shadowRoot(p) is true 9 PASS internals.shadowRoot(keygen) is null10 9 PASS successfullyParsed is true 11 10 -
trunk/LayoutTests/fast/dom/shadow/layout-tests-can-access-shadow.html
r98407 r116730 36 36 shouldBe('shadow.nodeName', '"#shadow-root"'); 37 37 shouldBe('shadow === internals.shadowRoot(p)', 'true'); 38 39 // Can strip elements of shadows40 internals.removeShadowRoot(keygen);41 shouldBe('internals.shadowRoot(keygen)', 'null');42 38 } 43 39 </script> -
trunk/LayoutTests/fast/dom/shadow/multiple-shadowroot-expected.txt
r109096 r116730 11 11 PASS internals.shadowRoot(div) is shadowRoot3 12 12 PASS internals.olderShadowRoot(shadowRoot3) is shadowRoot2 13 PASS internals.shadowRoot(div) is null14 13 PASS successfullyParsed is true 15 14 -
trunk/LayoutTests/fast/dom/shadow/multiple-shadowroot.html
r111155 r116730 22 22 shouldBe("internals.olderShadowRoot(shadowRoot3)", "shadowRoot2"); 23 23 24 internals.removeShadowRoot(div);25 shouldBe("internals.shadowRoot(div)", "null");26 27 24 var successfullyParsed = true; 28 25 </script> -
trunk/Source/WebCore/ChangeLog
r116729 r116730 1 2012-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 1 97 2012-05-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2 98 -
trunk/Source/WebCore/WebCore.exp.in
r116705 r116730 303 303 __ZN7WebCore13AXObjectCache23focusedUIElementForPageEPKNS_4PageE 304 304 __ZN7WebCore13AXObjectCache42gAccessibilityEnhancedUserInterfaceEnabledE 305 __ZN7WebCore13ElementShadow20removeAllShadowRootsEv306 305 __ZN7WebCore13HTTPHeaderMapC1Ev 307 306 __ZN7WebCore13HTTPHeaderMapD1Ev … … 1485 1484 __ZNK7WebCore7Element6shadowEv 1486 1485 __ZNK7WebCore7Element12getAttributeERKNS_13QualifiedNameE 1487 __ZNK7WebCore7Element13hasShadowRootEv1488 1486 __ZNK7WebCore7IntRect10intersectsERKS0_ 1489 1487 __ZNK7WebCore7IntRect8containsERKS0_ -
trunk/Source/WebCore/dom/ComposedShadowTreeWalker.cpp
r116277 r116730 36 36 namespace WebCore { 37 37 38 static inline bool isShadowHost(const Node* node)39 {40 return node && node->isElementNode() && toElement(node)->hasShadowRoot();41 }42 43 38 static inline ElementShadow* shadowFor(const Node* node) 44 39 { … … 100 95 if (canCrossUpperBoundary()) { 101 96 ElementShadow* shadow = shadowFor(node); 102 return (shadow && shadow->hasShadowRoot())? traverseLightChildren(shadow->youngestShadowRoot(), direction)97 return shadow ? traverseLightChildren(shadow->youngestShadowRoot(), direction) 103 98 : traverseLightChildren(node, direction); 104 99 } -
trunk/Source/WebCore/dom/ContainerNodeAlgorithms.h
r116629 r116730 306 306 if (element->isFrameOwnerElement()) 307 307 m_list.append(node); 308 if ( element->hasShadowRoot())309 collectDescendant( element->shadow());308 if (ElementShadow* shadow = element->shadow()) 309 collectDescendant(shadow); 310 310 } 311 311 } -
trunk/Source/WebCore/dom/Document.cpp
r116724 r116730 713 713 m_elementsByAccessKey.set(accessKey.impl(), element); 714 714 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()) 717 717 buildAccessKeyMap(root); 718 718 } -
trunk/Source/WebCore/dom/Element.cpp
r116629 r116730 1141 1141 1142 1142 // 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()) { 1145 1144 if (change >= Inherit || shadow->childNeedsStyleRecalc() || shadow->needsStyleRecalc()) { 1146 1145 parentPusher.push(); … … 1180 1179 } 1181 1180 1182 bool Element::hasShadowRoot() const1183 {1184 if (ElementShadow* shadow = this->shadow())1185 return shadow->hasShadowRoot();1186 return false;1187 }1188 1189 1181 ElementShadow* Element::shadow() const 1190 1182 { … … 1206 1198 ShadowRoot* Element::ensureShadowRoot() 1207 1199 { 1208 if ( hasShadowRoot())1209 return shadow ()->oldestShadowRoot();1200 if (ElementShadow* shadow = this->shadow()) 1201 return shadow->oldestShadowRoot(); 1210 1202 1211 1203 return ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot).get(); … … 1342 1334 checkForSiblingStyleChanges(this, renderStyle(), false, beforeChange, afterChange, childCountDelta); 1343 1335 1344 if (hasRareData()) { 1345 if (hasShadowRoot()) 1346 shadow()->hostChildrenChanged(); 1347 } 1336 if (ElementShadow * shadow = this->shadow()) 1337 shadow->hostChildrenChanged(); 1348 1338 } 1349 1339 -
trunk/Source/WebCore/dom/Element.h
r116629 r116730 262 262 void recalcStyle(StyleChange = NoChange); 263 263 264 bool hasShadowRoot() const;265 264 ElementShadow* shadow() const; 266 265 ElementShadow* ensureShadow(); … … 715 714 } 716 715 716 inline bool isShadowHost(const Node* node) 717 { 718 return node && node->isElementNode() && toElement(node)->shadow(); 719 } 720 717 721 } // namespace 718 722 -
trunk/Source/WebCore/dom/ElementShadow.cpp
r116629 r116730 47 47 ElementShadow::~ElementShadow() 48 48 { 49 if (hasShadowRoot()) 50 removeAllShadowRoots(); 49 removeAllShadowRoots(); 51 50 } 52 51 … … 92 91 void ElementShadow::removeAllShadowRoots() 93 92 { 94 if (!hasShadowRoot())95 return;96 97 93 // Dont protect this ref count. 98 94 Element* shadowHost = host(); -
trunk/Source/WebCore/dom/ElementShadow.h
r116629 r116730 51 51 52 52 Element* host() const; 53 54 bool hasShadowRoot() const;55 53 ShadowRoot* youngestShadowRoot() const; 56 54 ShadowRoot* oldestShadowRoot() const; 57 55 58 56 void addShadowRoot(Element* shadowHost, PassRefPtr<ShadowRoot>, ExceptionCode&); 59 void removeAllShadowRoots();60 57 61 58 void setParentTreeScope(TreeScope*); … … 83 80 84 81 private: 82 void removeAllShadowRoots(); 85 83 86 84 DoublyLinkedList<ShadowRoot> m_shadowRoots; … … 89 87 WTF_MAKE_NONCOPYABLE(ElementShadow); 90 88 }; 91 92 inline bool ElementShadow::hasShadowRoot() const93 {94 return !m_shadowRoots.isEmpty();95 }96 89 97 90 inline ShadowRoot* ElementShadow::youngestShadowRoot() const … … 122 115 inline Element* ElementShadow::host() const 123 116 { 124 ASSERT( hasShadowRoot());117 ASSERT(!m_shadowRoots.isEmpty()); 125 118 return youngestShadowRoot()->host(); 126 119 } -
trunk/Source/WebCore/dom/EventDispatcher.cpp
r110314 r116730 117 117 } 118 118 119 static inline bool isShadowHost(Node* node)120 {121 return node->isElementNode() && toElement(node)->hasShadowRoot();122 }123 124 119 PassRefPtr<EventTarget> EventDispatcher::adjustToShadowBoundaries(PassRefPtr<Node> relatedTarget, const Vector<Node*> relatedTargetAncestors) 125 120 { -
trunk/Source/WebCore/dom/Node.cpp
r116705 r116730 837 837 inline static ShadowRoot* oldestShadowRootFor(const Node* node) 838 838 { 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; 840 844 } 841 845 -
trunk/Source/WebCore/dom/NodeRenderingContext.cpp
r116277 r116730 72 72 73 73 if (parent->isElementNode() || parent->isShadowRoot()) { 74 if (parent->isElementNode() && toElement(parent)->hasShadowRoot())74 if (parent->isElementNode()) 75 75 m_visualParentShadow = toElement(parent)->shadow(); 76 76 else if (parent->isShadowRoot()) -
trunk/Source/WebCore/dom/ShadowRoot.cpp
r116724 r116730 123 123 return 0; 124 124 ASSERT(element == shadowRoot->host()); 125 ASSERT(element-> hasShadowRoot());125 ASSERT(element->shadow()); 126 126 return shadowRoot.release(); 127 127 } -
trunk/Source/WebCore/html/ColorInputType.cpp
r116277 r116730 108 108 void ColorInputType::createShadowSubtree() 109 109 { 110 ASSERT(element()-> hasShadowRoot());110 ASSERT(element()->shadow()); 111 111 112 112 Document* document = element()->document(); -
trunk/Source/WebCore/html/FileInputType.cpp
r116592 r116730 296 296 void FileInputType::createShadowSubtree() 297 297 { 298 ASSERT(element()-> hasShadowRoot());298 ASSERT(element()->shadow()); 299 299 ExceptionCode ec = 0; 300 300 element()->shadow()->oldestShadowRoot()->appendChild(element()->multiple() ? UploadButtonElement::createForMultiple(element()->document()): UploadButtonElement::create(element()->document()), ec); … … 303 303 void FileInputType::multipleAttributeChanged() 304 304 { 305 ASSERT(element()-> hasShadowRoot());305 ASSERT(element()->shadow()); 306 306 UploadButtonElement* button = static_cast<UploadButtonElement*>(element()->shadow()->oldestShadowRoot()->firstChild()); 307 307 if (button) -
trunk/Source/WebCore/html/HTMLDetailsElement.cpp
r116277 r116730 111 111 void HTMLDetailsElement::createShadowSubtree() 112 112 { 113 ASSERT(! hasShadowRoot());113 ASSERT(!shadow()); 114 114 115 115 RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot); -
trunk/Source/WebCore/html/HTMLInputElement.cpp
r116615 r116730 111 111 void HTMLInputElement::createShadowSubtree() 112 112 { 113 ASSERT(! hasShadowRoot());113 ASSERT(!shadow()); 114 114 ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION); 115 115 -
trunk/Source/WebCore/html/HTMLKeygenElement.cpp
r116277 r116730 87 87 } 88 88 89 ASSERT(! hasShadowRoot());89 ASSERT(!shadow()); 90 90 RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot); 91 91 root->appendChild(select, ec); … … 132 132 HTMLSelectElement* HTMLKeygenElement::shadowSelect() const 133 133 { 134 ASSERT(hasShadowRoot());135 134 ShadowRoot* root = this->shadow()->oldestShadowRoot(); 136 135 return root ? toHTMLSelectElement(root->firstChild()) : 0; -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r116629 r116730 4074 4074 bool HTMLMediaElement::hasMediaControls() 4075 4075 { 4076 if (!hasShadowRoot()) 4076 ElementShadow* elementShadow = shadow(); 4077 if (!elementShadow) 4077 4078 return false; 4078 4079 4079 Node* node = shadow()->oldestShadowRoot()->firstChild();4080 Node* node = elementShadow->oldestShadowRoot()->firstChild(); 4080 4081 return node && node->isMediaControls(); 4081 4082 } -
trunk/Source/WebCore/html/HTMLMeterElement.cpp
r113555 r116730 229 229 void HTMLMeterElement::createShadowSubtree() 230 230 { 231 ASSERT(! hasShadowRoot());231 ASSERT(!shadow()); 232 232 233 233 RefPtr<MeterBarElement> bar = MeterBarElement::create(document()); -
trunk/Source/WebCore/html/HTMLProgressElement.cpp
r111500 r116730 152 152 void HTMLProgressElement::createShadowSubtree() 153 153 { 154 ASSERT(! hasShadowRoot());154 ASSERT(!shadow()); 155 155 156 156 RefPtr<ProgressBarElement> bar = ProgressBarElement::create(document()); -
trunk/Source/WebCore/html/HTMLSummaryElement.cpp
r116277 r116730 81 81 void HTMLSummaryElement::createShadowSubtree() 82 82 { 83 ASSERT(! hasShadowRoot());83 ASSERT(!shadow()); 84 84 RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot); 85 85 root->appendChild(DetailsMarkerControl::create(document()), ASSERT_NO_EXCEPTION, true); -
trunk/Source/WebCore/html/HTMLTextAreaElement.cpp
r116277 r116730 86 86 void HTMLTextAreaElement::createShadowSubtree() 87 87 { 88 ASSERT(! hasShadowRoot());88 ASSERT(!shadow()); 89 89 RefPtr<ShadowRoot> root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot); 90 90 root->appendChild(TextControlInnerTextElement::create(document()), ASSERT_NO_EXCEPTION); -
trunk/Source/WebCore/html/InputType.cpp
r116615 r116730 396 396 void InputType::destroyShadowSubtree() 397 397 { 398 if (!element()->hasShadowRoot()) 398 ElementShadow* shadow = element()->shadow(); 399 if (!shadow) 399 400 return; 400 401 401 ShadowRoot* root = element()->shadow()->oldestShadowRoot(); 402 ASSERT(root); 402 ShadowRoot* root = shadow->oldestShadowRoot(); 403 403 root->removeAllChildren(); 404 404 -
trunk/Source/WebCore/html/RangeInputType.cpp
r116277 r116730 161 161 if (event->button() != LeftButton || !targetNode) 162 162 return; 163 ASSERT(element()-> hasShadowRoot());163 ASSERT(element()->shadow()); 164 164 if (targetNode != element() && !targetNode->isDescendantOf(element()->shadow()->oldestShadowRoot())) 165 165 return; … … 238 238 void RangeInputType::createShadowSubtree() 239 239 { 240 ASSERT(element()-> hasShadowRoot());240 ASSERT(element()->shadow()); 241 241 242 242 Document* document = element()->document(); -
trunk/Source/WebCore/html/TextFieldInputType.cpp
r116277 r116730 222 222 void TextFieldInputType::createShadowSubtree() 223 223 { 224 ASSERT(element()-> hasShadowRoot());224 ASSERT(element()->shadow()); 225 225 226 226 ASSERT(!m_innerText); -
trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp
r116277 r116730 359 359 { 360 360 ASSERT(node); 361 ASSERT(node->toInputElement()-> hasShadowRoot());361 ASSERT(node->toInputElement()->shadow()); 362 362 ShadowRoot* shadow = node->toInputElement()->shadow()->oldestShadowRoot(); 363 363 ASSERT(shadow); -
trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp
r116277 r116730 341 341 } 342 342 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 } 346 348 } 347 349 … … 1227 1229 value->setContentDocument(buildObjectForNode(doc, 0, nodesMap)); 1228 1230 } 1229 if (element->hasShadowRoot()) { 1231 1232 ElementShadow* shadow = element->shadow(); 1233 if (shadow) { 1230 1234 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()) 1232 1236 shadowRoots->addItem(buildObjectForNode(root, 0, nodesMap)); 1233 1237 value->setShadowRoots(shadowRoots); -
trunk/Source/WebCore/page/FocusController.cpp
r116277 r116730 66 66 using namespace std; 67 67 68 static inline bool isShadowHost(const Node* node)69 {70 return node && node->isElementNode() && toElement(node)->hasShadowRoot();71 }72 73 68 static inline ComposedShadowTreeWalker walkerFrom(const Node* node) 74 69 { -
trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp
r116277 r116730 224 224 HTMLInputElement* input = static_cast<HTMLInputElement*>(node()); 225 225 226 ASSERT(input-> hasShadowRoot());226 ASSERT(input->shadow()); 227 227 228 228 Node* buttonNode = input->shadow()->oldestShadowRoot()->firstChild(); -
trunk/Source/WebCore/svg/SVGTRefElement.cpp
r116277 r116730 165 165 textContent = target->textContent(); 166 166 167 ASSERT( hasShadowRoot());167 ASSERT(shadow()); 168 168 ShadowRoot* root = shadow()->oldestShadowRoot(); 169 169 if (!root->firstChild()) … … 181 181 ExceptionCode ignore = 0; 182 182 183 ASSERT( hasShadowRoot());183 ASSERT(shadow()); 184 184 Node* container = shadow()->oldestShadowRoot()->firstChild(); 185 185 if (container) -
trunk/Source/WebCore/testing/Internals.cpp
r116729 r116730 303 303 } 304 304 305 if ( host->hasShadowRoot())306 return host->shadow()->youngestShadowRoot();305 if (ElementShadow* shadow = host->shadow()) 306 return shadow->youngestShadowRoot(); 307 307 308 308 return ShadowRoot::create(host, ec).get(); … … 323 323 } 324 324 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; 329 328 } 330 329 … … 336 335 } 337 336 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; 342 340 } 343 341 … … 360 358 361 359 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();373 360 } 374 361 -
trunk/Source/WebCore/testing/Internals.h
r116729 r116730 76 76 ShadowRootIfShadowDOMEnabledOrNode* youngerShadowRoot(Node* shadow, ExceptionCode&); 77 77 ShadowRootIfShadowDOMEnabledOrNode* olderShadowRoot(Node* shadow, ExceptionCode&); 78 void removeShadowRoot(Element* host, ExceptionCode&);79 78 Element* includerFor(Node*, ExceptionCode&); 80 79 String shadowPseudoId(Element*, ExceptionCode&); -
trunk/Source/WebCore/testing/Internals.idl
r116729 r116730 50 50 #endif 51 51 Element includerFor(in Node node) raises (DOMException); 52 void removeShadowRoot(in Element host) raises (DOMException);53 52 DOMString shadowPseudoId(in Element element) raises (DOMException); 54 53 Element createContentElement(in Document document) raises(DOMException); -
trunk/Source/WebKit2/ChangeLog
r116729 r116730 1 2012-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 1 13 2012-05-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2 14 -
trunk/Source/WebKit2/win/WebKit2.def
r116729 r116730 179 179 ?getHighlight@InspectorController@WebCore@@QBEXPAUHighlight@2@@Z 180 180 ?getLocationAndLengthFromRange@TextIterator@WebCore@@SA_NPAVElement@2@PBVRange@2@AAI2@Z 181 ?hasShadowRoot@Element@WebCore@@QBE_NXZ182 181 ?inputTag@HTMLNames@WebCore@@3VQualifiedName@2@B 183 182 ?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@CAPAVInstrumentingAgents@2@PAVPage@2@@Z … … 202 201 ?placeholderShouldBeVisible@HTMLTextFormControlElement@WebCore@@QBE_NXZ 203 202 ?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PAVElement@2@HH_N@Z 204 ?removeAllShadowRoots@ElementShadow@WebCore@@QAEXXZ205 203 ?remove@String@WTF@@QAEXIH@Z 206 204 ?reverseFind@StringImpl@WTF@@QAEI_WI@Z -
trunk/Source/WebKit2/win/WebKit2CFLite.def
r116277 r116730 172 172 ?getHighlight@InspectorController@WebCore@@QBEXPAUHighlight@2@@Z 173 173 ?getLocationAndLengthFromRange@TextIterator@WebCore@@SA_NPAVElement@2@PBVRange@2@AAI2@Z 174 ?hasShadowRoot@Element@WebCore@@QBE_NXZ175 174 ?inputTag@HTMLNames@WebCore@@3VQualifiedName@2@B 176 175 ?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@CAPAVInstrumentingAgents@2@PAVPage@2@@Z … … 195 194 ?placeholderShouldBeVisible@HTMLTextFormControlElement@WebCore@@QBE_NXZ 196 195 ?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PAVElement@2@HH_N@Z 197 ?removeAllShadowRoots@ElementShadow@WebCore@@QAEXXZ198 196 ?remove@String@WTF@@QAEXIH@Z 199 197 ?reverseFind@StringImpl@WTF@@QAEI_WI@Z -
trunk/Source/autotools/symbols.filter
r116729 r116730 44 44 _ZN7WebCore10ClientRectC1ERKNS_7IntRectE; 45 45 _ZN7WebCore10ShadowRoot6createEPNS_7ElementERi; 46 _ZN7WebCore13ElementShadow20removeAllShadowRootsEv;47 46 _ZN7WebCore11EventTarget17toGeneratedStreamEv; 48 47 _ZN7WebCore11EventTarget8toStreamEv; … … 100 99 _ZNK7WebCore6JSNode21pushEventHandlerScopeEPN3JSC9ExecStateEPNS1_14ScopeChainNodeE; 101 100 _ZNK7WebCore7Element6shadowEv; 102 _ZNK7WebCore7Element13hasShadowRootEv;103 101 _ZNK7WebCore8Document4pageEv; 104 102 _ZNK7WebCore8Document8settingsEv;
Note: See TracChangeset
for help on using the changeset viewer.