Changeset 84759 in webkit
- Timestamp:
- Apr 24, 2011 2:20:42 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r84758 r84759 1 2011-04-24 Dominic Cooney <dominicc@chromium.org> 2 3 Reviewed by Dimitri Glazkov. 4 5 Crash when adding a text node to a shadow root 6 https://bugs.webkit.org/show_bug.cgi?id=59304 7 8 * fast/dom/shadow/append-child-text-expected.txt: Added. 9 * fast/dom/shadow/append-child-text.html: Added. 10 1 11 2011-04-24 Adam Barth <abarth@webkit.org> 2 12 -
trunk/Source/WebCore/ChangeLog
r84758 r84759 1 2011-04-24 Dominic Cooney <dominicc@chromium.org> 2 3 Reviewed by Dimitri Glazkov. 4 5 Crash when adding a text node to a shadow root 6 https://bugs.webkit.org/show_bug.cgi?id=59304 7 8 Text nodes need to consult their host element for style. 9 10 Test: fast/dom/shadow/append-child-text.html 11 12 * dom/Node.cpp: 13 (WebCore::NodeRendererFactory::styleForRenderer): 14 (WebCore::NodeRendererFactory::createRendererAndStyle): 15 (WebCore::Node::styleForRenderer): forward to NodeRendererFactory 16 1 17 2011-04-24 Adam Barth <abarth@webkit.org> 2 18 -
trunk/Source/WebCore/dom/Node.cpp
r84747 r84759 1484 1484 ContainerNode* parentNodeForRenderingAndStyle() const { return m_parentNodeForRenderingAndStyle; } 1485 1485 void createRendererIfNeeded(); 1486 PassRefPtr<RenderStyle> styleForRenderer(); 1486 1487 1487 1488 private: … … 1497 1498 ShadowRoot* m_visualParentShadowRoot; 1498 1499 }; 1500 1501 PassRefPtr<RenderStyle> NodeRendererFactory::styleForRenderer() 1502 { 1503 if (m_node->isElementNode()) { 1504 bool allowSharing = true; 1505 #if ENABLE(XHTMLMP) 1506 // noscript needs the display property protected - it's a special case 1507 allowSharing = m_node->localName() != HTMLNames::noscriptTag.localName(); 1508 #endif 1509 return m_node->document()->styleSelector()->styleForElement(static_cast<Element*>(m_node), 0, allowSharing); 1510 } 1511 ContainerNode* parentNodeForStyle = parentNodeForRenderingAndStyle(); 1512 return parentNodeForStyle && parentNodeForStyle->renderer() ? parentNodeForStyle->renderer()->style() : 0; 1513 } 1499 1514 1500 1515 ContainerNode* NodeRendererFactory::findVisualParent() … … 1557 1572 return 0; 1558 1573 1559 RefPtr<RenderStyle> style = m_node->styleForRenderer();1574 RefPtr<RenderStyle> style = styleForRenderer(); 1560 1575 if (!m_node->rendererIsNeeded(style.get())) 1561 1576 return 0; … … 1622 1637 PassRefPtr<RenderStyle> Node::styleForRenderer() 1623 1638 { 1624 if (isElementNode()) { 1625 bool allowSharing = true; 1626 #if ENABLE(XHTMLMP) 1627 // noscript needs the display property protected - it's a special case 1628 allowSharing = localName() != HTMLNames::noscriptTag.localName(); 1629 #endif 1630 return document()->styleSelector()->styleForElement(static_cast<Element*>(this), 0, allowSharing); 1631 } 1632 return parentNode() && parentNode()->renderer() ? parentNode()->renderer()->style() : 0; 1639 return NodeRendererFactory(this).styleForRenderer(); 1633 1640 } 1634 1641
Note: See TracChangeset
for help on using the changeset viewer.