Changeset 161127 in webkit
- Timestamp:
- Dec 29, 2013, 2:40:04 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r161105 r161127 1 2013-12-29 Antti Koivisto <antti@apple.com> 2 3 Remove Node::attached() 4 https://bugs.webkit.org/show_bug.cgi?id=126276 5 6 Reviewed by Sam Weinig. 7 8 * platform/mac/fast/table/dynamic-caption-add-before-child-expected.png: 9 * platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt: 10 11 This test result change is a progression. Dynamic captions are now correctly in document order. 12 1 13 2013-12-27 Gavin Barraclough <barraclough@apple.com> 2 14 -
trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt
r100305 r161127 5 5 RenderBody {body} at (8,8) size 784x216 6 6 RenderTable {table} at (0,0) size 81x216 7 RenderBlock {caption} at (0, 144) size 81x727 RenderBlock {caption} at (0,0) size 81x72 8 8 RenderText {#text} at (19,0) size 81x72 9 9 text run at (19,0) width 43: "PASS:" … … 11 11 text run at (21,36) width 39: "added" 12 12 text run at (17,54) width 47: "caption" 13 RenderBlock {caption} at (0, 0) size 81x3613 RenderBlock {caption} at (0,72) size 81x36 14 14 RenderText {#text} at (2,0) size 77x36 15 15 text run at (2,0) width 77: "PASS: Text" 16 16 text run at (3,18) width 75: "in caption 1" 17 layer at (8,44) size 81x3618 RenderBlock {caption} at (0,36) size 81x3619 RenderText {#text} at (2,0) size 77x3620 text run at (2,0) width 77: "PASS: Text"21 text run at (3,18) width 75: "in caption 2"22 layer at (8,80) size 81x3623 RenderBlock {caption} at (0,72) size 81x3624 RenderText {#text} at (2,0) size 77x3625 text run at (2,0) width 77: "PASS: Text"26 text run at (3,18) width 75: "in caption 3"27 17 layer at (8,116) size 81x36 28 18 RenderBlock {caption} at (0,108) size 81x36 29 19 RenderText {#text} at (2,0) size 77x36 30 20 text run at (2,0) width 77: "PASS: Text" 21 text run at (3,18) width 75: "in caption 2" 22 layer at (8,152) size 81x36 23 RenderBlock {caption} at (0,144) size 81x36 24 RenderText {#text} at (2,0) size 77x36 25 text run at (2,0) width 77: "PASS: Text" 26 text run at (3,18) width 75: "in caption 3" 27 layer at (8,188) size 81x36 28 RenderBlock {caption} at (0,180) size 81x36 29 RenderText {#text} at (2,0) size 77x36 30 text run at (2,0) width 77: "PASS: Text" 31 31 text run at (3,18) width 75: "in caption 4" -
trunk/Source/WebCore/ChangeLog
r161123 r161127 1 2013-12-29 Antti Koivisto <antti@apple.com> 2 3 Remove Node::attached() 4 https://bugs.webkit.org/show_bug.cgi?id=126276 5 6 Reviewed by Sam Weinig. 7 8 Node::attached() is poorly defined. Replace it with renderer() and inRenderedDocument() tests as appropriate. 9 10 Also remove some unnecessary explicit attachRenderTree/detachRenderTree calls from the tree builders. 11 1 12 2013-12-29 Andreas Kling <akling@apple.com> 2 13 -
trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp
r159026 r161127 71 71 AccessibilityMenuListOption* AccessibilityMenuListPopup::menuListOptionAccessibilityObject(HTMLElement* element) const 72 72 { 73 if (!element || !isHTMLOptionElement(element) || !element-> attached())73 if (!element || !isHTMLOptionElement(element) || !element->inRenderedDocument()) 74 74 return 0; 75 75 … … 119 119 for (size_t i = m_children.size(); i > 0 ; --i) { 120 120 AccessibilityObject* child = m_children[i - 1].get(); 121 if (child->actionElement() && !child->actionElement()-> attached()) {121 if (child->actionElement() && !child->actionElement()->inRenderedDocument()) { 122 122 child->detachFromParent(); 123 123 cache->remove(child->axObjectID()); -
trunk/Source/WebCore/dom/ContainerNode.cpp
r161097 r161127 141 141 for (unsigned i = 0; i < children.size(); ++i) { 142 142 Node& child = children[i].get(); 143 if (child. attached())143 if (child.renderer()) 144 144 detachChild(child); 145 145 … … 151 151 // Can we do better? 152 152 treeScope().adoptIfNeeded(adoptedChild.get()); 153 if ( attached() && !adoptedChild->attached())153 if (renderer() && !adoptedChild->renderer()) 154 154 attachChild(*adoptedChild.get()); 155 155 } … … 595 595 596 596 // Remove from rendering tree 597 if (oldChild.attached()) 597 // FIXME: Get rid of the named flow test. 598 if (oldChild.renderer() || oldChild.inNamedFlow()) 598 599 detachChild(oldChild); 599 600 -
trunk/Source/WebCore/dom/Document.cpp
r161097 r161127 1954 1954 void Document::createRenderTree() 1955 1955 { 1956 ASSERT(! attached());1956 ASSERT(!renderView()); 1957 1957 ASSERT(!m_inPageCache); 1958 1958 ASSERT(!m_axObjectCache || this != topDocument()); … … 1987 1987 m_frame->script().updateDocument(); 1988 1988 1989 if (! attached())1989 if (!hasLivingRenderTree()) 1990 1990 createRenderTree(); 1991 1991 … … 2034 2034 void Document::destroyRenderTree() 2035 2035 { 2036 ASSERT( attached());2036 ASSERT(hasLivingRenderTree()); 2037 2037 ASSERT(!m_inPageCache); 2038 2038 … … 3211 3211 // Don't bother updating, since we haven't loaded all our style info yet 3212 3212 // and haven't calculated the style selector for the first time. 3213 if (! attached() || (!m_didCalculateStyleResolver && !haveStylesheetsLoaded())) {3213 if (!hasLivingRenderTree() || (!m_didCalculateStyleResolver && !haveStylesheetsLoaded())) { 3214 3214 m_styleResolver.clear(); 3215 3215 return; … … 5361 5361 void Document::webkitWillEnterFullScreenForElement(Element* element) 5362 5362 { 5363 if (! attached() || inPageCache())5363 if (!hasLivingRenderTree() || inPageCache()) 5364 5364 return; 5365 5365 … … 5406 5406 return; 5407 5407 5408 if (! attached() || inPageCache())5408 if (!hasLivingRenderTree() || inPageCache()) 5409 5409 return; 5410 5410 … … 5419 5419 return; 5420 5420 5421 if (! attached() || inPageCache())5421 if (!hasLivingRenderTree() || inPageCache()) 5422 5422 return; 5423 5423 … … 5430 5430 return; 5431 5431 5432 if (! attached() || inPageCache())5432 if (!hasLivingRenderTree() || inPageCache()) 5433 5433 return; 5434 5434 -
trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp
r159416 r161127 448 448 449 449 } 450 if (!m_document. renderView() || !m_document.attached())450 if (!m_document.hasLivingRenderTree()) 451 451 return false; 452 452 -
trunk/Source/WebCore/dom/Element.cpp
r161037 r161127 1097 1097 1098 1098 StyleResolver* styleResolver = document().styleResolverIfExists(); 1099 bool testShouldInvalidateStyle = attached() && styleResolver && styleChangeType() < FullStyleChange;1099 bool testShouldInvalidateStyle = inRenderedDocument() && styleResolver && styleChangeType() < FullStyleChange; 1100 1100 bool shouldInvalidateStyle = false; 1101 1101 … … 1198 1198 { 1199 1199 StyleResolver* styleResolver = document().styleResolverIfExists(); 1200 bool testShouldInvalidateStyle = attached() && styleResolver && styleChangeType() < FullStyleChange;1200 bool testShouldInvalidateStyle = inRenderedDocument() && styleResolver && styleChangeType() < FullStyleChange; 1201 1201 bool shouldInvalidateStyle = false; 1202 1202 … … 1497 1497 resetNeedsNodeRenderingTraversalSlowPath(); 1498 1498 1499 // FIXME(94905): ShadowHost should be reattached during recalcStyle. 1500 // Set some flag here and recreate shadow hosts' renderer in 1501 // Element::recalcStyle. 1502 if (attached()) 1503 setNeedsStyleRecalc(ReconstructRenderTree); 1499 setNeedsStyleRecalc(ReconstructRenderTree); 1504 1500 1505 1501 InspectorInstrumentation::didPushShadowRoot(this, shadowRoot); … … 1514 1510 document().removeFocusedNodeOfSubtree(oldRoot.get()); 1515 1511 1516 ASSERT(!oldRoot-> attached());1512 ASSERT(!oldRoot->renderer()); 1517 1513 1518 1514 elementRareData()->clearShadowRoot(); … … 1628 1624 1629 1625 // This is the insert/append case. 1630 if (newFirstElement != elementAfterChange && elementAfterChange->attached() 1631 && elementAfterChange->renderStyle() && elementAfterChange->renderStyle()->firstChildState()) 1626 if (newFirstElement != elementAfterChange && elementAfterChange->renderStyle() && elementAfterChange->renderStyle()->firstChildState()) 1632 1627 elementAfterChange->setNeedsStyleRecalc(); 1633 1628 … … 1643 1638 Element* newLastElement = ElementTraversal::lastChild(parent); 1644 1639 1645 if (newLastElement != elementBeforeChange && elementBeforeChange->attached() 1646 && elementBeforeChange->renderStyle() && elementBeforeChange->renderStyle()->lastChildState()) 1640 if (newLastElement != elementBeforeChange && elementBeforeChange->renderStyle() && elementBeforeChange->renderStyle()->lastChildState()) 1647 1641 elementBeforeChange->setNeedsStyleRecalc(); 1648 1642 … … 1657 1651 // that could be affected by this DOM change. 1658 1652 if (parent->childrenAffectedByDirectAdjacentRules() && elementAfterChange) { 1659 if (elementAfterChange->attached()) 1660 elementAfterChange->setNeedsStyleRecalc(); 1653 elementAfterChange->setNeedsStyleRecalc(); 1661 1654 } 1662 1655 … … 1698 1691 { 1699 1692 clearIsParsingChildrenFinished(); 1700 StyleResolver* styleResolver = document().styleResolverIfExists(); 1701 if (styleResolver && attached()) 1693 if (auto styleResolver = document().styleResolverIfExists()) 1702 1694 styleResolver->pushParentElement(this); 1703 1695 } … … 1708 1700 setIsParsingChildrenFinished(); 1709 1701 checkForSiblingStyleChanges(this, FinishedParsingChildren, ElementTraversal::lastChild(this), nullptr); 1710 if ( StyleResolver*styleResolver = document().styleResolverIfExists())1702 if (auto styleResolver = document().styleResolverIfExists()) 1711 1703 styleResolver->popParentElement(this); 1712 1704 } … … 2355 2347 if (!pseudoElement) 2356 2348 return; 2357 if (pseudoElement-> attached())2349 if (pseudoElement->renderer()) 2358 2350 Style::detachRenderTree(*pseudoElement); 2359 2351 ASSERT(pseudoElement->hostElement()); … … 2816 2808 2817 2809 if (oldValue != newValue) { 2818 if (attached() && document().styleResolverIfExists() && document().styleResolverIfExists()->hasSelectorForAttribute(name.localName())) 2810 auto styleResolver = document().styleResolverIfExists(); 2811 if (styleResolver && styleResolver->hasSelectorForAttribute(name.localName())) 2819 2812 setNeedsStyleRecalc(); 2820 2813 } -
trunk/Source/WebCore/dom/Node.cpp
r161097 r161127 679 679 { 680 680 ASSERT(changeType != NoStyleChange); 681 if ( changeType != ReconstructRenderTree && !attached()) // changed compared to what?681 if (!inRenderedDocument()) 682 682 return; 683 683 … … 2303 2303 } 2304 2304 2305 bool Node::attached() const 2306 { 2307 // FIXME: This should go away along with the whole vague 'attached' concept. The conditions here produce 2308 // roughly the old behavior based on an explicit attached bit. 2309 return inDocument() && document().renderView() && (renderer() || styleChangeType() != ReconstructRenderTree); 2305 bool Node::inRenderedDocument() const 2306 { 2307 return inDocument() && document().hasLivingRenderTree(); 2310 2308 } 2311 2309 -
trunk/Source/WebCore/dom/Node.h
r161046 r161127 312 312 void setUserActionElement(bool flag) { setFlag(flag, IsUserActionElement); } 313 313 314 bool attached() const;314 bool inRenderedDocument() const; 315 315 bool needsStyleRecalc() const { return styleChangeType() != NoStyleChange; } 316 316 StyleChangeType styleChangeType() const { return static_cast<StyleChangeType>(m_nodeFlags & StyleChangeMask); } -
trunk/Source/WebCore/dom/ShadowRoot.cpp
r158569 r161127 31 31 #include "HistogramSupport.h" 32 32 #include "InsertionPoint.h" 33 #include "RenderElement.h" 33 34 #include "RuntimeEnabledFeatures.h" 34 35 #include "StyleResolver.h" … … 140 141 if (value != m_resetStyleInheritance) { 141 142 m_resetStyleInheritance = value; 142 if ( attached() && hostElement())143 if (renderer() && hostElement()) 143 144 Style::resolveTree(*hostElement(), Style::Force); 144 145 } -
trunk/Source/WebCore/editing/AppendNodeCommand.cpp
r160966 r161127 30 30 #include "Document.h" 31 31 #include "ExceptionCodePlaceholder.h" 32 #include "RenderElement.h" 32 33 #include "htmlediting.h" 33 34 … … 43 44 ASSERT(!m_node->parentNode()); 44 45 45 ASSERT(m_parent->hasEditableStyle() || !m_parent-> attached());46 ASSERT(m_parent->hasEditableStyle() || !m_parent->renderer()); 46 47 } 47 48 … … 59 60 void AppendNodeCommand::doApply() 60 61 { 61 if (!m_parent->hasEditableStyle() && m_parent-> attached())62 if (!m_parent->hasEditableStyle() && m_parent->renderer()) 62 63 return; 63 64 -
trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp
r160966 r161127 46 46 ASSERT(m_refChild->parentNode()); 47 47 48 ASSERT(m_refChild->parentNode()->hasEditableStyle() || !m_refChild->parentNode()-> attached());48 ASSERT(m_refChild->parentNode()->hasEditableStyle() || !m_refChild->parentNode()->renderer()); 49 49 } 50 50 -
trunk/Source/WebCore/editing/RemoveNodeCommand.cpp
r160966 r161127 29 29 #include "ExceptionCodePlaceholder.h" 30 30 #include "Node.h" 31 #include "RenderElement.h" 31 32 #include <wtf/Assertions.h> 32 33 … … 46 47 ContainerNode* parent = m_node->parentNode(); 47 48 if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable 48 && !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) && parent-> attached()))49 && !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) && parent->renderer())) 49 50 return; 50 ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) || !parent-> attached());51 ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) || !parent->renderer()); 51 52 52 53 m_parent = parent; -
trunk/Source/WebCore/html/HTMLDetailsElement.cpp
r160908 r161127 137 137 bool oldValue = m_isOpen; 138 138 m_isOpen = !value.isNull(); 139 if (oldValue != m_isOpen && attached())139 if (oldValue != m_isOpen && renderer()) 140 140 Style::reattachRenderTree(*this); 141 141 } else -
trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp
r160926 r161127 263 263 // we can end up detaching during an attach() call, before we even have a 264 264 // renderer. In that case, don't mark the widget for update. 265 if ( attached() &&renderer() && !useFallbackContent()) {265 if (renderer() && !useFallbackContent()) { 266 266 // Update the widget the next time we attach (detaching destroys the plugin). 267 267 setNeedsWidgetUpdate(true); -
trunk/Source/WebCore/html/HTMLSelectElement.cpp
r160733 r161127 316 316 m_size = size; 317 317 setNeedsValidityCheck(); 318 if (m_size != oldSize && attached()) {318 if (m_size != oldSize && renderer()) { 319 319 Style::reattachRenderTree(*this); 320 320 setRecalcListItems(); … … 1047 1047 m_multiple = !value.isNull(); 1048 1048 setNeedsValidityCheck(); 1049 if (oldUsesMenuList != usesMenuList() && attached())1049 if (oldUsesMenuList != usesMenuList() && renderer()) 1050 1050 Style::reattachRenderTree(*this); 1051 1051 } -
trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp
r160908 r161127 1634 1634 // should all be in some HTMLConstructionSite function. 1635 1635 furthestBlockElement->parserAppendChild(newItem->element()); 1636 // FIXME: Why is this attach logic necessary? Style resolve should attach us if needed.1637 if (furthestBlockElement->attached() && !newItem->element()->attached()) {1638 // Notice that newItem->element() might already be attached if, for example, one of the reparented1639 // children is a style element, which attaches itself automatically.1640 Style::attachRenderTree(*newItem->element());1641 }1642 1636 // 14. 1643 1637 m_tree.activeFormattingElements()->swapTo(formattingElement, newItem, bookmark); -
trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp
r159856 r161127 259 259 return; 260 260 261 if (! attached())261 if (!renderer()) 262 262 return; 263 263 … … 277 277 bool MediaControlVolumeSliderElement::willRespondToMouseMoveEvents() 278 278 { 279 if (! attached())279 if (!renderer()) 280 280 return false; 281 281 … … 285 285 bool MediaControlVolumeSliderElement::willRespondToMouseClickEvents() 286 286 { 287 if (! attached())287 if (!renderer()) 288 288 return false; 289 289 -
trunk/Source/WebCore/html/shadow/MediaControlElements.cpp
r160908 r161127 943 943 return; 944 944 945 if (! attached())945 if (!renderer()) 946 946 return; 947 947 … … 969 969 bool MediaControlTimelineElement::willRespondToMouseClickEvents() 970 970 { 971 if (! attached())971 if (!renderer()) 972 972 return false; 973 973 -
trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp
r160733 r161127 520 520 bool SliderThumbElement::shouldAcceptTouchEvents() 521 521 { 522 return attached() && !isDisabledFormControl();522 return renderer() && !isDisabledFormControl(); 523 523 } 524 524 -
trunk/Source/WebCore/loader/FrameLoader.cpp
r160841 r161127 618 618 m_frame.document()->cancelParsing(); 619 619 m_frame.document()->stopActiveDOMObjects(); 620 if (m_frame.document()-> attached()) {620 if (m_frame.document()->hasLivingRenderTree()) { 621 621 m_frame.document()->prepareForDestruction(); 622 622 m_frame.document()->removeFocusedNodeOfSubtree(m_frame.document()); -
trunk/Source/WebCore/loader/HistoryController.cpp
r160841 r161127 182 182 ASSERT(document); 183 183 184 if (item->isCurrentDocument(document) && document-> attached()) {184 if (item->isCurrentDocument(document) && document->hasLivingRenderTree()) { 185 185 LOG(Loading, "WebCoreLoading %s: saving form state to %p", m_frame.tree().uniqueName().string().utf8().data(), item); 186 186 item->setDocumentState(document->formElementsState()); -
trunk/Source/WebCore/loader/ImageLoader.cpp
r159604 r161127 402 402 if (!m_image) 403 403 return; 404 if (!m_element->document(). attached())404 if (!m_element->document().hasLivingRenderTree()) 405 405 return; 406 406 m_hasPendingBeforeLoadEvent = false; … … 432 432 return; 433 433 m_hasPendingLoadEvent = false; 434 if ( element()->document().attached())434 if (m_element->document().hasLivingRenderTree()) 435 435 dispatchLoadEvent(); 436 436 … … 445 445 return; 446 446 m_hasPendingErrorEvent = false; 447 if ( element()->document().attached())448 element()->dispatchEvent(Event::create(eventNames().errorEvent, false, false));447 if (m_element->document().hasLivingRenderTree()) 448 m_element->dispatchEvent(Event::create(eventNames().errorEvent, false, false)); 449 449 450 450 // Only consider updating the protection ref-count of the Element immediately before returning -
trunk/Source/WebCore/loader/PlaceholderDocument.cpp
r160908 r161127 33 33 void PlaceholderDocument::createRenderTree() 34 34 { 35 ASSERT(! attached());35 ASSERT(!renderView()); 36 36 37 37 for (auto& child : elementChildren(*this)) -
trunk/Source/WebCore/page/Frame.cpp
r161106 r161127 272 272 // notified. If we wait until the view is destroyed, then things won't be hooked up enough for 273 273 // these calls to work. 274 if (!view && m_doc && m_doc-> attached() && !m_doc->inPageCache())274 if (!view && m_doc && m_doc->hasLivingRenderTree() && !m_doc->inPageCache()) 275 275 m_doc->prepareForDestruction(); 276 276 … … 297 297 ASSERT(!newDocument || newDocument->frame() == this); 298 298 299 if (m_doc && m_doc-> attached() && !m_doc->inPageCache())299 if (m_doc && m_doc->hasLivingRenderTree() && !m_doc->inPageCache()) 300 300 m_doc->prepareForDestruction(); 301 301 -
trunk/Source/WebCore/rendering/RenderCounter.cpp
r159733 r161127 561 561 else 562 562 node = renderer->generatingNode(); 563 if (node && !node-> attached())563 if (node && !node->renderer()) 564 564 return; // No need to update if the parent is not attached yet 565 565 for (RenderObject* descendant = renderer; descendant; descendant = descendant->nextInPreOrder(renderer)) … … 570 570 { 571 571 Node* node = renderer->generatingNode(); 572 if (!node || !node-> attached())572 if (!node || !node->renderer()) 573 573 return; // cannot have generated content or if it can have, it will be handled during attaching 574 574 const CounterDirectiveMap* newCounterDirectives; -
trunk/Source/WebCore/rendering/RenderMenuList.cpp
r160599 r161127 437 437 HTMLElement* listItem = selectElement().listItems()[listIndex]; 438 438 ASSERT(listItem); 439 if (listItem-> attached()) {439 if (listItem->renderer()) { 440 440 if (AccessibilityMenuList* menuList = toAccessibilityMenuList(document().axObjectCache()->get(this))) 441 441 menuList->didUpdateActiveOption(optionIndex); -
trunk/Source/WebCore/style/StyleResolveTree.cpp
r161089 r161127 136 136 // nextRenderer() when the parent element hasn't attached yet. 137 137 // FIXME: Why would we get here anyway if parent is not attached? 138 if (renderingParentNode && !renderingParentNode-> attached())139 return 0;138 if (renderingParentNode && !renderingParentNode->renderer()) 139 return nullptr; 140 140 for (Node* sibling = NodeRenderingTraversal::nextSibling(&element); sibling; sibling = NodeRenderingTraversal::nextSibling(sibling)) { 141 141 RenderObject* renderer = sibling->renderer(); … … 143 143 return renderer; 144 144 } 145 return 0;145 return nullptr; 146 146 } 147 147 … … 303 303 for (Node* sibling = NodeRenderingTraversal::nextSibling(¤t); sibling; sibling = NodeRenderingTraversal::nextSibling(sibling)) { 304 304 // Siblings haven't been attached yet. They will be handled normally when they are. 305 if ( !sibling->attached())305 if (sibling->styleChangeType() == ReconstructRenderTree) 306 306 return; 307 307 if (sibling->isElementNode()) { … … 417 417 void updateTextRendererAfterContentChange(Text& textNode, unsigned offsetOfReplacedData, unsigned lengthOfReplacedData) 418 418 { 419 if (!textNode.attached())420 return;421 419 RenderText* textRenderer = textNode.renderer(); 422 420 if (!textRenderer) { … … 897 895 void reattachRenderTree(Element& current) 898 896 { 899 if (current. attached())897 if (current.renderer()) 900 898 detachRenderTree(current, ReattachDetach); 901 899 attachRenderTree(current); -
trunk/Source/WebCore/testing/Internals.cpp
r160944 r161127 1925 1925 PassRefPtr<MallocStatistics> Internals::mallocStatistics() const 1926 1926 { 1927 // WTF::releaseFastMallocFreeMemory(); 1927 1928 return MallocStatistics::create(); 1928 1929 } -
trunk/Source/WebCore/xml/XMLErrors.cpp
r156256 r161127 128 128 rootElement->parserAppendChild(body); 129 129 m_document->parserAppendChild(rootElement); 130 if (m_document->attached() && !rootElement->attached())131 Style::attachRenderTree(*rootElement);132 130 documentElement = body.get(); 133 131 } … … 139 137 140 138 documentElement->parentNode()->parserRemoveChild(*documentElement); 141 if (documentElement->attached())142 Style::detachRenderTree(*documentElement);143 139 144 140 body->parserAppendChild(documentElement); 145 141 m_document->parserAppendChild(rootElement.get()); 146 142 147 if (m_document-> attached())143 if (m_document->hasLivingRenderTree()) 148 144 // In general, rootElement shouldn't be attached right now, but it will be if there is a style element 149 145 // in the SVG content. … … 174 170 documentElement->parserAppendChild(reportElement); 175 171 176 if (documentElement->attached() && !reportElement->attached())177 Style::attachRenderTree(*reportElement);178 179 172 m_document->updateStyleIfNeeded(); 180 173 } -
trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp
r160457 r161127 167 167 m_bufferedText.swap(empty); 168 168 169 if (m_view && m_leafTextNode->parentNode() && m_leafTextNode->parentNode()-> attached() && !m_leafTextNode->attached())169 if (m_view && m_leafTextNode->parentNode() && m_leafTextNode->parentNode()->renderer() && !m_leafTextNode->renderer()) 170 170 Style::attachTextRenderer(*m_leafTextNode); 171 171 -
trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
r160457 r161127 48 48 #include "Page.h" 49 49 #include "ProcessingInstruction.h" 50 #include "RenderElement.h" 50 51 #include "ResourceError.h" 51 52 #include "ResourceRequest.h" … … 855 856 #endif 856 857 857 if (m_view && currentNode-> attached() && !newElement->attached())858 if (m_view && currentNode->renderer() && !newElement->renderer()) 858 859 Style::attachRenderTree(*newElement); 859 860 … … 1031 1032 RefPtr<CDATASection> newNode = CDATASection::create(m_currentNode->document(), toString(s, len)); 1032 1033 m_currentNode->parserAppendChild(newNode.get()); 1033 if (m_view && !newNode->attached())1034 if (m_view) 1034 1035 Style::attachTextRenderer(*newNode); 1035 1036 }
Note:
See TracChangeset
for help on using the changeset viewer.