Changeset 106902 in webkit
- Timestamp:
- Feb 6, 2012 8:47:15 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r106898 r106902 1 2012-02-06 Hayato Ito <hayato@chromium.org> 2 3 Implement querySelector on ShadowRoot. 4 https://bugs.webkit.org/show_bug.cgi?id=77714 5 6 Reviewed by Dimitri Glazkov. 7 8 * fast/dom/shadow/shadow-root-js-api-expected.txt: 9 * fast/dom/shadow/shadow-root-js-api.html: 10 1 11 2012-02-06 David Grogan <dgrogan@chromium.org> 2 12 -
trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api-expected.txt
r106434 r106902 21 21 PASS shadowRoot.getElementsByTagNameNS('', 'div') is [] 22 22 PASS shadowRoot.getElementsByTagNameNS('*', 'foo') is [] 23 PASS shadowRoot.querySelector('#div1') is div1 24 PASS shadowRoot.querySelector('#foo') is null 25 PASS shadowRoot.querySelector('.class2') is div2 26 PASS shadowRoot.querySelector('.foo') is null 27 PASS shadowRoot.querySelectorAll('div') is [div1, div2] 28 PASS shadowRoot.querySelectorAll('foo') is [] 23 29 PASS successfullyParsed is true 24 30 -
trunk/LayoutTests/fast/dom/shadow/shadow-root-js-api.html
r106434 r106902 6 6 <body> 7 7 <div id="console"></div> 8 <!-- These elements should not be selected in ShadowRoot's querySelector. --> 9 <div id="foo"></div> 10 <div class="foo"></div> 11 <foo></foo> 8 12 <script> 9 13 description("Tests for ShadowRoot JS APIs. Can only run within DRT"); … … 48 52 shouldBe("shadowRoot.getElementsByTagNameNS('*', 'foo')", "[]"); 49 53 54 shouldBe("shadowRoot.querySelector('#div1')", "div1"); 55 shouldBeNull("shadowRoot.querySelector('#foo')"); 56 shouldBe("shadowRoot.querySelector('.class2')", "div2"); 57 shouldBeNull("shadowRoot.querySelector('.foo')"); 58 shouldBe("shadowRoot.querySelectorAll('div')", "[div1, div2]"); 59 shouldBe("shadowRoot.querySelectorAll('foo')", "[]"); 50 60 </script> 51 61 <script src="../../js/resources/js-test-post.js"></script> -
trunk/Source/WebCore/ChangeLog
r106901 r106902 1 2012-02-06 Hayato Ito <hayato@chromium.org> 2 3 Implement querySelector on ShadowRoot. 4 https://bugs.webkit.org/show_bug.cgi?id=77714 5 6 Reviewed by Dimitri Glazkov. 7 8 * dom/SelectorQuery.cpp: 9 (WebCore::nodeIsRootNodeOfTreeScope): 10 (WebCore): 11 (WebCore::SelectorDataList::execute): 12 1 13 2012-02-06 Martin Robinson <mrobinson@igalia.com> and Nayan Kumar K <nayankk@motorola.com> 2 14 -
trunk/Source/WebCore/dom/SelectorQuery.cpp
r104919 r106902 99 99 } 100 100 101 static inline bool isTreeScopeRoot(Node* node) 102 { 103 ASSERT(node); 104 return node->isDocumentNode() || node->isShadowRoot(); 105 } 106 101 107 template <bool firstMatchOnly> 102 108 void SelectorDataList::execute(const SelectorChecker& selectorChecker, Node* rootNode, Vector<RefPtr<Node> >& matchedElements) const … … 105 111 ASSERT(m_selectors.size() == 1); 106 112 CSSSelector* selector = m_selectors[0].selector; 107 Element* element = rootNode-> document()->getElementById(selector->value());108 if (!element || !( rootNode->isDocumentNode() || element->isDescendantOf(rootNode)))113 Element* element = rootNode->treeScope()->getElementById(selector->value()); 114 if (!element || !(isTreeScopeRoot(rootNode) || element->isDescendantOf(rootNode))) 109 115 return; 110 116 if (selectorChecker.checkSelector(m_selectors[0].selector, element, m_selectors[0].isFastCheckable))
Note: See TracChangeset
for help on using the changeset viewer.