<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[161127] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/161127">161127</a></dd>
<dt>Author</dt> <dd>antti@apple.com</dd>
<dt>Date</dt> <dd>2013-12-29 14:40:04 -0800 (Sun, 29 Dec 2013)</dd>
</dl>
<h3>Log Message</h3>
<pre>Source/WebCore: Remove Node::attached()
https://bugs.webkit.org/show_bug.cgi?id=126276
Reviewed by Sam Weinig.
Node::attached() is poorly defined. Replace it with renderer() and inRenderedDocument() tests as appropriate.
Also remove some unnecessary explicit attachRenderTree/detachRenderTree calls from the tree builders.
LayoutTests: Remove Node::attached()
https://bugs.webkit.org/show_bug.cgi?id=126276
Reviewed by Sam Weinig.
* platform/mac/fast/table/dynamic-caption-add-before-child-expected.png:
* platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt:
This test result change is a progression. Dynamic captions are now correctly in document order.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmacfasttabledynamiccaptionaddbeforechildexpectedpng">trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacfasttabledynamiccaptionaddbeforechildexpectedtxt">trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityMenuListPopupcpp">trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp</a></li>
<li><a href="#trunkSourceWebCoredomContainerNodecpp">trunk/Source/WebCore/dom/ContainerNode.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentStyleSheetCollectioncpp">trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodecpp">trunk/Source/WebCore/dom/Node.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeh">trunk/Source/WebCore/dom/Node.h</a></li>
<li><a href="#trunkSourceWebCoredomShadowRootcpp">trunk/Source/WebCore/dom/ShadowRoot.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingAppendNodeCommandcpp">trunk/Source/WebCore/editing/AppendNodeCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingInsertNodeBeforeCommandcpp">trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingRemoveNodeCommandcpp">trunk/Source/WebCore/editing/RemoveNodeCommand.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLDetailsElementcpp">trunk/Source/WebCore/html/HTMLDetailsElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInImageElementcpp">trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSelectElementcpp">trunk/Source/WebCore/html/HTMLSelectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTreeBuildercpp">trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementTypescpp">trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementscpp">trunk/Source/WebCore/html/shadow/MediaControlElements.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSliderThumbElementcpp">trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderHistoryControllercpp">trunk/Source/WebCore/loader/HistoryController.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderImageLoadercpp">trunk/Source/WebCore/loader/ImageLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderPlaceholderDocumentcpp">trunk/Source/WebCore/loader/PlaceholderDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFramecpp">trunk/Source/WebCore/page/Frame.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderCountercpp">trunk/Source/WebCore/rendering/RenderCounter.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMenuListcpp">trunk/Source/WebCore/rendering/RenderMenuList.cpp</a></li>
<li><a href="#trunkSourceWebCorestyleStyleResolveTreecpp">trunk/Source/WebCore/style/StyleResolveTree.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLErrorscpp">trunk/Source/WebCore/xml/XMLErrors.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserXMLDocumentParsercpp">trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp">trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/LayoutTests/ChangeLog        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2013-12-29 Antti Koivisto <antti@apple.com>
+
+ Remove Node::attached()
+ https://bugs.webkit.org/show_bug.cgi?id=126276
+
+ Reviewed by Sam Weinig.
+
+ * platform/mac/fast/table/dynamic-caption-add-before-child-expected.png:
+ * platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt:
+
+ This test result change is a progression. Dynamic captions are now correctly in document order.
+
</ins><span class="cx"> 2013-12-27 Gavin Barraclough <barraclough@apple.com>
</span><span class="cx">
</span><span class="cx"> Merge PageVisibilityState & ViewState::IsVisible in WebKit2
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfasttabledynamiccaptionaddbeforechildexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfasttabledynamiccaptionaddbeforechildexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -4,28 +4,28 @@
</span><span class="cx"> RenderBlock {html} at (0,0) size 800x232
</span><span class="cx"> RenderBody {body} at (8,8) size 784x216
</span><span class="cx"> RenderTable {table} at (0,0) size 81x216
</span><del>- RenderBlock {caption} at (0,144) size 81x72
</del><ins>+ RenderBlock {caption} at (0,0) size 81x72
</ins><span class="cx"> RenderText {#text} at (19,0) size 81x72
</span><span class="cx"> text run at (19,0) width 43: "PASS:"
</span><span class="cx"> text run at (0,18) width 81: "Dynamically"
</span><span class="cx"> text run at (21,36) width 39: "added"
</span><span class="cx"> text run at (17,54) width 47: "caption"
</span><del>- RenderBlock {caption} at (0,0) size 81x36
</del><ins>+ RenderBlock {caption} at (0,72) size 81x36
</ins><span class="cx"> RenderText {#text} at (2,0) size 77x36
</span><span class="cx"> text run at (2,0) width 77: "PASS: Text"
</span><span class="cx"> text run at (3,18) width 75: "in caption 1"
</span><del>-layer at (8,44) size 81x36
- RenderBlock {caption} at (0,36) size 81x36
</del><ins>+layer at (8,116) size 81x36
+ RenderBlock {caption} at (0,108) size 81x36
</ins><span class="cx"> RenderText {#text} at (2,0) size 77x36
</span><span class="cx"> text run at (2,0) width 77: "PASS: Text"
</span><span class="cx"> text run at (3,18) width 75: "in caption 2"
</span><del>-layer at (8,80) size 81x36
- RenderBlock {caption} at (0,72) size 81x36
</del><ins>+layer at (8,152) size 81x36
+ RenderBlock {caption} at (0,144) size 81x36
</ins><span class="cx"> RenderText {#text} at (2,0) size 77x36
</span><span class="cx"> text run at (2,0) width 77: "PASS: Text"
</span><span class="cx"> text run at (3,18) width 75: "in caption 3"
</span><del>-layer at (8,116) size 81x36
- RenderBlock {caption} at (0,108) size 81x36
</del><ins>+layer at (8,188) size 81x36
+ RenderBlock {caption} at (0,180) size 81x36
</ins><span class="cx"> RenderText {#text} at (2,0) size 77x36
</span><span class="cx"> text run at (2,0) width 77: "PASS: Text"
</span><span class="cx"> text run at (3,18) width 75: "in caption 4"
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/ChangeLog        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2013-12-29 Antti Koivisto <antti@apple.com>
+
+ Remove Node::attached()
+ https://bugs.webkit.org/show_bug.cgi?id=126276
+
+ Reviewed by Sam Weinig.
+
+ Node::attached() is poorly defined. Replace it with renderer() and inRenderedDocument() tests as appropriate.
+
+ Also remove some unnecessary explicit attachRenderTree/detachRenderTree calls from the tree builders.
+
</ins><span class="cx"> 2013-12-29 Andreas Kling <akling@apple.com>
</span><span class="cx">
</span><span class="cx"> RenderLayer: Store reflection renderer in a RenderPtr.
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityMenuListPopupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx">
</span><span class="cx"> AccessibilityMenuListOption* AccessibilityMenuListPopup::menuListOptionAccessibilityObject(HTMLElement* element) const
</span><span class="cx"> {
</span><del>- if (!element || !isHTMLOptionElement(element) || !element->attached())
</del><ins>+ if (!element || !isHTMLOptionElement(element) || !element->inRenderedDocument())
</ins><span class="cx"> return 0;
</span><span class="cx">
</span><span class="cx"> AccessibilityObject* object = document()->axObjectCache()->getOrCreate(MenuListOptionRole);
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx"> AXObjectCache* cache = axObjectCache();
</span><span class="cx"> for (size_t i = m_children.size(); i > 0 ; --i) {
</span><span class="cx"> AccessibilityObject* child = m_children[i - 1].get();
</span><del>- if (child->actionElement() && !child->actionElement()->attached()) {
</del><ins>+ if (child->actionElement() && !child->actionElement()->inRenderedDocument()) {
</ins><span class="cx"> child->detachFromParent();
</span><span class="cx"> cache->remove(child->axObjectID());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomContainerNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ContainerNode.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx">
</span><span class="cx"> for (unsigned i = 0; i < children.size(); ++i) {
</span><span class="cx"> Node& child = children[i].get();
</span><del>- if (child.attached())
</del><ins>+ if (child.renderer())
</ins><span class="cx"> detachChild(child);
</span><span class="cx">
</span><span class="cx"> // FIXME: We need a no mutation event version of adoptNode.
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx"> // (if the document changed or oldParent was in a shadow tree, AND *this is in a shadow tree).
</span><span class="cx"> // Can we do better?
</span><span class="cx"> treeScope().adoptIfNeeded(adoptedChild.get());
</span><del>- if (attached() && !adoptedChild->attached())
</del><ins>+ if (renderer() && !adoptedChild->renderer())
</ins><span class="cx"> attachChild(*adoptedChild.get());
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -594,7 +594,8 @@
</span><span class="cx"> ASSERT(oldChild.parentNode() == this);
</span><span class="cx">
</span><span class="cx"> // Remove from rendering tree
</span><del>- if (oldChild.attached())
</del><ins>+ // FIXME: Get rid of the named flow test.
+ if (oldChild.renderer() || oldChild.inNamedFlow())
</ins><span class="cx"> detachChild(oldChild);
</span><span class="cx">
</span><span class="cx"> if (nextChild)
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/dom/Document.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -1953,7 +1953,7 @@
</span><span class="cx">
</span><span class="cx"> void Document::createRenderTree()
</span><span class="cx"> {
</span><del>- ASSERT(!attached());
</del><ins>+ ASSERT(!renderView());
</ins><span class="cx"> ASSERT(!m_inPageCache);
</span><span class="cx"> ASSERT(!m_axObjectCache || this != topDocument());
</span><span class="cx">
</span><span class="lines">@@ -1986,7 +1986,7 @@
</span><span class="cx">
</span><span class="cx"> m_frame->script().updateDocument();
</span><span class="cx">
</span><del>- if (!attached())
</del><ins>+ if (!hasLivingRenderTree())
</ins><span class="cx"> createRenderTree();
</span><span class="cx">
</span><span class="cx"> updateViewportArguments();
</span><span class="lines">@@ -2033,7 +2033,7 @@
</span><span class="cx">
</span><span class="cx"> void Document::destroyRenderTree()
</span><span class="cx"> {
</span><del>- ASSERT(attached());
</del><ins>+ ASSERT(hasLivingRenderTree());
</ins><span class="cx"> ASSERT(!m_inPageCache);
</span><span class="cx">
</span><span class="cx"> TemporaryChange<bool> change(m_renderTreeBeingDestroyed, true);
</span><span class="lines">@@ -3210,7 +3210,7 @@
</span><span class="cx">
</span><span class="cx"> // Don't bother updating, since we haven't loaded all our style info yet
</span><span class="cx"> // and haven't calculated the style selector for the first time.
</span><del>- if (!attached() || (!m_didCalculateStyleResolver && !haveStylesheetsLoaded())) {
</del><ins>+ if (!hasLivingRenderTree() || (!m_didCalculateStyleResolver && !haveStylesheetsLoaded())) {
</ins><span class="cx"> m_styleResolver.clear();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -5360,7 +5360,7 @@
</span><span class="cx">
</span><span class="cx"> void Document::webkitWillEnterFullScreenForElement(Element* element)
</span><span class="cx"> {
</span><del>- if (!attached() || inPageCache())
</del><ins>+ if (!hasLivingRenderTree() || inPageCache())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> ASSERT(element);
</span><span class="lines">@@ -5405,7 +5405,7 @@
</span><span class="cx"> if (!m_fullScreenElement)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!attached() || inPageCache())
</del><ins>+ if (!hasLivingRenderTree() || inPageCache())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> m_fullScreenElement->didBecomeFullscreenElement();
</span><span class="lines">@@ -5418,7 +5418,7 @@
</span><span class="cx"> if (!m_fullScreenElement)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!attached() || inPageCache())
</del><ins>+ if (!hasLivingRenderTree() || inPageCache())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> m_fullScreenElement->willStopBeingFullscreenElement();
</span><span class="lines">@@ -5429,7 +5429,7 @@
</span><span class="cx"> if (!m_fullScreenElement)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!attached() || inPageCache())
</del><ins>+ if (!hasLivingRenderTree() || inPageCache())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> m_fullScreenElement->setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries(false);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentStyleSheetCollectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -447,7 +447,7 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> }
</span><del>- if (!m_document.renderView() || !m_document.attached())
</del><ins>+ if (!m_document.hasLivingRenderTree())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Vector<RefPtr<StyleSheet>> activeStyleSheets;
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/dom/Element.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -1096,7 +1096,7 @@
</span><span class="cx"> document().incDOMTreeVersion();
</span><span class="cx">
</span><span class="cx"> StyleResolver* styleResolver = document().styleResolverIfExists();
</span><del>- bool testShouldInvalidateStyle = attached() && styleResolver && styleChangeType() < FullStyleChange;
</del><ins>+ bool testShouldInvalidateStyle = inRenderedDocument() && styleResolver && styleChangeType() < FullStyleChange;
</ins><span class="cx"> bool shouldInvalidateStyle = false;
</span><span class="cx">
</span><span class="cx"> if (isIdAttributeName(name)) {
</span><span class="lines">@@ -1197,7 +1197,7 @@
</span><span class="cx"> void Element::classAttributeChanged(const AtomicString& newClassString)
</span><span class="cx"> {
</span><span class="cx"> StyleResolver* styleResolver = document().styleResolverIfExists();
</span><del>- bool testShouldInvalidateStyle = attached() && styleResolver && styleChangeType() < FullStyleChange;
</del><ins>+ bool testShouldInvalidateStyle = inRenderedDocument() && styleResolver && styleChangeType() < FullStyleChange;
</ins><span class="cx"> bool shouldInvalidateStyle = false;
</span><span class="cx">
</span><span class="cx"> if (classStringHasClassName(newClassString)) {
</span><span class="lines">@@ -1496,11 +1496,7 @@
</span><span class="cx">
</span><span class="cx"> resetNeedsNodeRenderingTraversalSlowPath();
</span><span class="cx">
</span><del>- // FIXME(94905): ShadowHost should be reattached during recalcStyle.
- // Set some flag here and recreate shadow hosts' renderer in
- // Element::recalcStyle.
- if (attached())
- setNeedsStyleRecalc(ReconstructRenderTree);
</del><ins>+ setNeedsStyleRecalc(ReconstructRenderTree);
</ins><span class="cx">
</span><span class="cx"> InspectorInstrumentation::didPushShadowRoot(this, shadowRoot);
</span><span class="cx"> }
</span><span class="lines">@@ -1513,7 +1509,7 @@
</span><span class="cx"> InspectorInstrumentation::willPopShadowRoot(this, oldRoot.get());
</span><span class="cx"> document().removeFocusedNodeOfSubtree(oldRoot.get());
</span><span class="cx">
</span><del>- ASSERT(!oldRoot->attached());
</del><ins>+ ASSERT(!oldRoot->renderer());
</ins><span class="cx">
</span><span class="cx"> elementRareData()->clearShadowRoot();
</span><span class="cx">
</span><span class="lines">@@ -1627,8 +1623,7 @@
</span><span class="cx"> // Find the first element node following |afterChange|
</span><span class="cx">
</span><span class="cx"> // This is the insert/append case.
</span><del>- if (newFirstElement != elementAfterChange && elementAfterChange->attached()
- && elementAfterChange->renderStyle() && elementAfterChange->renderStyle()->firstChildState())
</del><ins>+ if (newFirstElement != elementAfterChange && elementAfterChange->renderStyle() && elementAfterChange->renderStyle()->firstChildState())
</ins><span class="cx"> elementAfterChange->setNeedsStyleRecalc();
</span><span class="cx">
</span><span class="cx"> // We also have to handle node removal.
</span><span class="lines">@@ -1642,8 +1637,7 @@
</span><span class="cx"> // Find our new last child.
</span><span class="cx"> Element* newLastElement = ElementTraversal::lastChild(parent);
</span><span class="cx">
</span><del>- if (newLastElement != elementBeforeChange && elementBeforeChange->attached()
- && elementBeforeChange->renderStyle() && elementBeforeChange->renderStyle()->lastChildState())
</del><ins>+ if (newLastElement != elementBeforeChange && elementBeforeChange->renderStyle() && elementBeforeChange->renderStyle()->lastChildState())
</ins><span class="cx"> elementBeforeChange->setNeedsStyleRecalc();
</span><span class="cx">
</span><span class="cx"> // We also have to handle node removal. The parser callback case is similar to node removal as well in that we need to change the last child
</span><span class="lines">@@ -1656,8 +1650,7 @@
</span><span class="cx"> // The + selector. We need to invalidate the first element following the insertion point. It is the only possible element
</span><span class="cx"> // that could be affected by this DOM change.
</span><span class="cx"> if (parent->childrenAffectedByDirectAdjacentRules() && elementAfterChange) {
</span><del>- if (elementAfterChange->attached())
- elementAfterChange->setNeedsStyleRecalc();
</del><ins>+ elementAfterChange->setNeedsStyleRecalc();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Forward positional selectors include the ~ selector, nth-child, nth-of-type, first-of-type and only-of-type.
</span><span class="lines">@@ -1697,8 +1690,7 @@
</span><span class="cx"> void Element::beginParsingChildren()
</span><span class="cx"> {
</span><span class="cx"> clearIsParsingChildrenFinished();
</span><del>- StyleResolver* styleResolver = document().styleResolverIfExists();
- if (styleResolver && attached())
</del><ins>+ if (auto styleResolver = document().styleResolverIfExists())
</ins><span class="cx"> styleResolver->pushParentElement(this);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1707,7 +1699,7 @@
</span><span class="cx"> ContainerNode::finishParsingChildren();
</span><span class="cx"> setIsParsingChildrenFinished();
</span><span class="cx"> checkForSiblingStyleChanges(this, FinishedParsingChildren, ElementTraversal::lastChild(this), nullptr);
</span><del>- if (StyleResolver* styleResolver = document().styleResolverIfExists())
</del><ins>+ if (auto styleResolver = document().styleResolverIfExists())
</ins><span class="cx"> styleResolver->popParentElement(this);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2354,7 +2346,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!pseudoElement)
</span><span class="cx"> return;
</span><del>- if (pseudoElement->attached())
</del><ins>+ if (pseudoElement->renderer())
</ins><span class="cx"> Style::detachRenderTree(*pseudoElement);
</span><span class="cx"> ASSERT(pseudoElement->hostElement());
</span><span class="cx"> pseudoElement->clearHostElement();
</span><span class="lines">@@ -2815,7 +2807,8 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (oldValue != newValue) {
</span><del>- if (attached() && document().styleResolverIfExists() && document().styleResolverIfExists()->hasSelectorForAttribute(name.localName()))
</del><ins>+ auto styleResolver = document().styleResolverIfExists();
+ if (styleResolver && styleResolver->hasSelectorForAttribute(name.localName()))
</ins><span class="cx"> setNeedsStyleRecalc();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/dom/Node.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -678,7 +678,7 @@
</span><span class="cx"> void Node::setNeedsStyleRecalc(StyleChangeType changeType)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(changeType != NoStyleChange);
</span><del>- if (changeType != ReconstructRenderTree && !attached()) // changed compared to what?
</del><ins>+ if (!inRenderedDocument())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> StyleChangeType existingChangeType = styleChangeType();
</span><span class="lines">@@ -2302,11 +2302,9 @@
</span><span class="cx"> node->incrementConnectedSubframeCount(count);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Node::attached() const
</del><ins>+bool Node::inRenderedDocument() const
</ins><span class="cx"> {
</span><del>- // FIXME: This should go away along with the whole vague 'attached' concept. The conditions here produce
- // roughly the old behavior based on an explicit attached bit.
- return inDocument() && document().renderView() && (renderer() || styleChangeType() != ReconstructRenderTree);
</del><ins>+ return inDocument() && document().hasLivingRenderTree();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.h (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.h        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/dom/Node.h        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -311,7 +311,7 @@
</span><span class="cx"> bool isUserActionElement() const { return getFlag(IsUserActionElement); }
</span><span class="cx"> void setUserActionElement(bool flag) { setFlag(flag, IsUserActionElement); }
</span><span class="cx">
</span><del>- bool attached() const;
</del><ins>+ bool inRenderedDocument() const;
</ins><span class="cx"> bool needsStyleRecalc() const { return styleChangeType() != NoStyleChange; }
</span><span class="cx"> StyleChangeType styleChangeType() const { return static_cast<StyleChangeType>(m_nodeFlags & StyleChangeMask); }
</span><span class="cx"> bool childNeedsStyleRecalc() const { return getFlag(ChildNeedsStyleRecalcFlag); }
</span></span></pre></div>
<a id="trunkSourceWebCoredomShadowRootcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ShadowRoot.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include "ElementTraversal.h"
</span><span class="cx"> #include "HistogramSupport.h"
</span><span class="cx"> #include "InsertionPoint.h"
</span><ins>+#include "RenderElement.h"
</ins><span class="cx"> #include "RuntimeEnabledFeatures.h"
</span><span class="cx"> #include "StyleResolver.h"
</span><span class="cx"> #include "markup.h"
</span><span class="lines">@@ -139,7 +140,7 @@
</span><span class="cx">
</span><span class="cx"> if (value != m_resetStyleInheritance) {
</span><span class="cx"> m_resetStyleInheritance = value;
</span><del>- if (attached() && hostElement())
</del><ins>+ if (renderer() && hostElement())
</ins><span class="cx"> Style::resolveTree(*hostElement(), Style::Force);
</span><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingAppendNodeCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/AppendNodeCommand.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/AppendNodeCommand.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/editing/AppendNodeCommand.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include "AXObjectCache.h"
</span><span class="cx"> #include "Document.h"
</span><span class="cx"> #include "ExceptionCodePlaceholder.h"
</span><ins>+#include "RenderElement.h"
</ins><span class="cx"> #include "htmlediting.h"
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -42,7 +43,7 @@
</span><span class="cx"> ASSERT(m_node);
</span><span class="cx"> ASSERT(!m_node->parentNode());
</span><span class="cx">
</span><del>- ASSERT(m_parent->hasEditableStyle() || !m_parent->attached());
</del><ins>+ ASSERT(m_parent->hasEditableStyle() || !m_parent->renderer());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static void sendAXTextChangedIgnoringLineBreaks(Node* node, AXObjectCache::AXTextChange textChange)
</span><span class="lines">@@ -58,7 +59,7 @@
</span><span class="cx">
</span><span class="cx"> void AppendNodeCommand::doApply()
</span><span class="cx"> {
</span><del>- if (!m_parent->hasEditableStyle() && m_parent->attached())
</del><ins>+ if (!m_parent->hasEditableStyle() && m_parent->renderer())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> m_parent->appendChild(m_node.get(), IGNORE_EXCEPTION);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingInsertNodeBeforeCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> ASSERT(m_refChild);
</span><span class="cx"> ASSERT(m_refChild->parentNode());
</span><span class="cx">
</span><del>- ASSERT(m_refChild->parentNode()->hasEditableStyle() || !m_refChild->parentNode()->attached());
</del><ins>+ ASSERT(m_refChild->parentNode()->hasEditableStyle() || !m_refChild->parentNode()->renderer());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InsertNodeBeforeCommand::doApply()
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingRemoveNodeCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/RemoveNodeCommand.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/RemoveNodeCommand.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/editing/RemoveNodeCommand.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx">
</span><span class="cx"> #include "ExceptionCodePlaceholder.h"
</span><span class="cx"> #include "Node.h"
</span><ins>+#include "RenderElement.h"
</ins><span class="cx"> #include <wtf/Assertions.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -45,9 +46,9 @@
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* parent = m_node->parentNode();
</span><span class="cx"> if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable
</span><del>- && !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) && parent->attached()))
</del><ins>+ && !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) && parent->renderer()))
</ins><span class="cx"> return;
</span><del>- ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) || !parent->attached());
</del><ins>+ ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) || !parent->renderer());
</ins><span class="cx">
</span><span class="cx"> m_parent = parent;
</span><span class="cx"> m_refChild = m_node->nextSibling();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLDetailsElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLDetailsElement.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLDetailsElement.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/html/HTMLDetailsElement.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -136,7 +136,7 @@
</span><span class="cx"> if (name == openAttr) {
</span><span class="cx"> bool oldValue = m_isOpen;
</span><span class="cx"> m_isOpen = !value.isNull();
</span><del>- if (oldValue != m_isOpen && attached())
</del><ins>+ if (oldValue != m_isOpen && renderer())
</ins><span class="cx"> Style::reattachRenderTree(*this);
</span><span class="cx"> } else
</span><span class="cx"> HTMLElement::parseAttribute(name, value);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -262,7 +262,7 @@
</span><span class="cx"> // FIXME: Because of the insanity that is HTMLPlugInImageElement::willRecalcStyle,
</span><span class="cx"> // we can end up detaching during an attach() call, before we even have a
</span><span class="cx"> // renderer. In that case, don't mark the widget for update.
</span><del>- if (attached() && renderer() && !useFallbackContent()) {
</del><ins>+ if (renderer() && !useFallbackContent()) {
</ins><span class="cx"> // Update the widget the next time we attach (detaching destroys the plugin).
</span><span class="cx"> setNeedsWidgetUpdate(true);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSelectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSelectElement.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -315,7 +315,7 @@
</span><span class="cx">
</span><span class="cx"> m_size = size;
</span><span class="cx"> setNeedsValidityCheck();
</span><del>- if (m_size != oldSize && attached()) {
</del><ins>+ if (m_size != oldSize && renderer()) {
</ins><span class="cx"> Style::reattachRenderTree(*this);
</span><span class="cx"> setRecalcListItems();
</span><span class="cx"> }
</span><span class="lines">@@ -1046,7 +1046,7 @@
</span><span class="cx"> bool oldUsesMenuList = usesMenuList();
</span><span class="cx"> m_multiple = !value.isNull();
</span><span class="cx"> setNeedsValidityCheck();
</span><del>- if (oldUsesMenuList != usesMenuList() && attached())
</del><ins>+ if (oldUsesMenuList != usesMenuList() && renderer())
</ins><span class="cx"> Style::reattachRenderTree(*this);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTreeBuildercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -1633,12 +1633,6 @@
</span><span class="cx"> // be in HTMLConstructionSite. My guess is that steps 11--15
</span><span class="cx"> // should all be in some HTMLConstructionSite function.
</span><span class="cx"> furthestBlockElement->parserAppendChild(newItem->element());
</span><del>- // FIXME: Why is this attach logic necessary? Style resolve should attach us if needed.
- if (furthestBlockElement->attached() && !newItem->element()->attached()) {
- // Notice that newItem->element() might already be attached if, for example, one of the reparented
- // children is a style element, which attaches itself automatically.
- Style::attachRenderTree(*newItem->element());
- }
</del><span class="cx"> // 14.
</span><span class="cx"> m_tree.activeFormattingElements()->swapTo(formattingElement, newItem, bookmark);
</span><span class="cx"> // 15.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementTypescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -258,7 +258,7 @@
</span><span class="cx"> if (event->isMouseEvent() && static_cast<MouseEvent*>(event)->button())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!attached())
</del><ins>+ if (!renderer())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> MediaControlInputElement::defaultEventHandler(event);
</span><span class="lines">@@ -276,7 +276,7 @@
</span><span class="cx">
</span><span class="cx"> bool MediaControlVolumeSliderElement::willRespondToMouseMoveEvents()
</span><span class="cx"> {
</span><del>- if (!attached())
</del><ins>+ if (!renderer())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return MediaControlInputElement::willRespondToMouseMoveEvents();
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx">
</span><span class="cx"> bool MediaControlVolumeSliderElement::willRespondToMouseClickEvents()
</span><span class="cx"> {
</span><del>- if (!attached())
</del><ins>+ if (!renderer())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return MediaControlInputElement::willRespondToMouseClickEvents();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -942,7 +942,7 @@
</span><span class="cx"> if (event->isMouseEvent() && static_cast<MouseEvent*>(event)->button())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!attached())
</del><ins>+ if (!renderer())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (event->type() == eventNames().mousedownEvent)
</span><span class="lines">@@ -968,7 +968,7 @@
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> bool MediaControlTimelineElement::willRespondToMouseClickEvents()
</span><span class="cx"> {
</span><del>- if (!attached())
</del><ins>+ if (!renderer())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSliderThumbElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -519,7 +519,7 @@
</span><span class="cx">
</span><span class="cx"> bool SliderThumbElement::shouldAcceptTouchEvents()
</span><span class="cx"> {
</span><del>- return attached() && !isDisabledFormControl();
</del><ins>+ return renderer() && !isDisabledFormControl();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void SliderThumbElement::registerForTouchEvents()
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -617,7 +617,7 @@
</span><span class="cx"> if (!m_frame.document()->inPageCache()) {
</span><span class="cx"> m_frame.document()->cancelParsing();
</span><span class="cx"> m_frame.document()->stopActiveDOMObjects();
</span><del>- if (m_frame.document()->attached()) {
</del><ins>+ if (m_frame.document()->hasLivingRenderTree()) {
</ins><span class="cx"> m_frame.document()->prepareForDestruction();
</span><span class="cx"> m_frame.document()->removeFocusedNodeOfSubtree(m_frame.document());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderHistoryControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/HistoryController.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/HistoryController.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/loader/HistoryController.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -181,7 +181,7 @@
</span><span class="cx"> Document* document = m_frame.document();
</span><span class="cx"> ASSERT(document);
</span><span class="cx">
</span><del>- if (item->isCurrentDocument(document) && document->attached()) {
</del><ins>+ if (item->isCurrentDocument(document) && document->hasLivingRenderTree()) {
</ins><span class="cx"> LOG(Loading, "WebCoreLoading %s: saving form state to %p", m_frame.tree().uniqueName().string().utf8().data(), item);
</span><span class="cx"> item->setDocumentState(document->formElementsState());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderImageLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ImageLoader.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ImageLoader.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/loader/ImageLoader.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -401,7 +401,7 @@
</span><span class="cx"> return;
</span><span class="cx"> if (!m_image)
</span><span class="cx"> return;
</span><del>- if (!m_element->document().attached())
</del><ins>+ if (!m_element->document().hasLivingRenderTree())
</ins><span class="cx"> return;
</span><span class="cx"> m_hasPendingBeforeLoadEvent = false;
</span><span class="cx"> if (m_element->dispatchBeforeLoadEvent(m_image->url())) {
</span><span class="lines">@@ -431,7 +431,7 @@
</span><span class="cx"> if (!m_image)
</span><span class="cx"> return;
</span><span class="cx"> m_hasPendingLoadEvent = false;
</span><del>- if (element()->document().attached())
</del><ins>+ if (m_element->document().hasLivingRenderTree())
</ins><span class="cx"> dispatchLoadEvent();
</span><span class="cx">
</span><span class="cx"> // Only consider updating the protection ref-count of the Element immediately before returning
</span><span class="lines">@@ -444,8 +444,8 @@
</span><span class="cx"> if (!m_hasPendingErrorEvent)
</span><span class="cx"> return;
</span><span class="cx"> m_hasPendingErrorEvent = false;
</span><del>- if (element()->document().attached())
- element()->dispatchEvent(Event::create(eventNames().errorEvent, false, false));
</del><ins>+ if (m_element->document().hasLivingRenderTree())
+ m_element->dispatchEvent(Event::create(eventNames().errorEvent, false, false));
</ins><span class="cx">
</span><span class="cx"> // Only consider updating the protection ref-count of the Element immediately before returning
</span><span class="cx"> // from this function as doing so might result in the destruction of this ImageLoader.
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderPlaceholderDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/PlaceholderDocument.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/PlaceholderDocument.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/loader/PlaceholderDocument.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">
</span><span class="cx"> void PlaceholderDocument::createRenderTree()
</span><span class="cx"> {
</span><del>- ASSERT(!attached());
</del><ins>+ ASSERT(!renderView());
</ins><span class="cx">
</span><span class="cx"> for (auto& child : elementChildren(*this))
</span><span class="cx"> Style::attachRenderTree(child);
</span></span></pre></div>
<a id="trunkSourceWebCorepageFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Frame.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Frame.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/page/Frame.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -271,7 +271,7 @@
</span><span class="cx"> // Prepare for destruction now, so any unload event handlers get run and the DOMWindow is
</span><span class="cx"> // notified. If we wait until the view is destroyed, then things won't be hooked up enough for
</span><span class="cx"> // these calls to work.
</span><del>- if (!view && m_doc && m_doc->attached() && !m_doc->inPageCache())
</del><ins>+ if (!view && m_doc && m_doc->hasLivingRenderTree() && !m_doc->inPageCache())
</ins><span class="cx"> m_doc->prepareForDestruction();
</span><span class="cx">
</span><span class="cx"> if (m_view)
</span><span class="lines">@@ -296,7 +296,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(!newDocument || newDocument->frame() == this);
</span><span class="cx">
</span><del>- if (m_doc && m_doc->attached() && !m_doc->inPageCache())
</del><ins>+ if (m_doc && m_doc->hasLivingRenderTree() && !m_doc->inPageCache())
</ins><span class="cx"> m_doc->prepareForDestruction();
</span><span class="cx">
</span><span class="cx"> m_doc = newDocument.get();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderCountercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderCounter.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderCounter.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/rendering/RenderCounter.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -560,7 +560,7 @@
</span><span class="cx"> node = node->parentNode();
</span><span class="cx"> else
</span><span class="cx"> node = renderer->generatingNode();
</span><del>- if (node && !node->attached())
</del><ins>+ if (node && !node->renderer())
</ins><span class="cx"> return; // No need to update if the parent is not attached yet
</span><span class="cx"> for (RenderObject* descendant = renderer; descendant; descendant = descendant->nextInPreOrder(renderer))
</span><span class="cx"> updateCounters(descendant);
</span><span class="lines">@@ -569,7 +569,7 @@
</span><span class="cx"> void RenderCounter::rendererStyleChanged(RenderObject* renderer, const RenderStyle* oldStyle, const RenderStyle* newStyle)
</span><span class="cx"> {
</span><span class="cx"> Node* node = renderer->generatingNode();
</span><del>- if (!node || !node->attached())
</del><ins>+ if (!node || !node->renderer())
</ins><span class="cx"> return; // cannot have generated content or if it can have, it will be handled during attaching
</span><span class="cx"> const CounterDirectiveMap* newCounterDirectives;
</span><span class="cx"> const CounterDirectiveMap* oldCounterDirectives;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMenuListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMenuList.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMenuList.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/rendering/RenderMenuList.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -436,7 +436,7 @@
</span><span class="cx">
</span><span class="cx"> HTMLElement* listItem = selectElement().listItems()[listIndex];
</span><span class="cx"> ASSERT(listItem);
</span><del>- if (listItem->attached()) {
</del><ins>+ if (listItem->renderer()) {
</ins><span class="cx"> if (AccessibilityMenuList* menuList = toAccessibilityMenuList(document().axObjectCache()->get(this)))
</span><span class="cx"> menuList->didUpdateActiveOption(optionIndex);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorestyleStyleResolveTreecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/style/StyleResolveTree.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/style/StyleResolveTree.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/style/StyleResolveTree.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -135,14 +135,14 @@
</span><span class="cx"> // Avoid an O(N^2) problem with this function by not checking for
</span><span class="cx"> // nextRenderer() when the parent element hasn't attached yet.
</span><span class="cx"> // FIXME: Why would we get here anyway if parent is not attached?
</span><del>- if (renderingParentNode && !renderingParentNode->attached())
- return 0;
</del><ins>+ if (renderingParentNode && !renderingParentNode->renderer())
+ return nullptr;
</ins><span class="cx"> for (Node* sibling = NodeRenderingTraversal::nextSibling(&element); sibling; sibling = NodeRenderingTraversal::nextSibling(sibling)) {
</span><span class="cx"> RenderObject* renderer = sibling->renderer();
</span><span class="cx"> if (renderer && !isRendererReparented(renderer))
</span><span class="cx"> return renderer;
</span><span class="cx"> }
</span><del>- return 0;
</del><ins>+ return nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static bool shouldCreateRenderer(const Element& element, const ContainerNode* renderingParent)
</span><span class="lines">@@ -302,7 +302,7 @@
</span><span class="cx"> // the current node gaining or losing the renderer. This can only affect white space text nodes.
</span><span class="cx"> for (Node* sibling = NodeRenderingTraversal::nextSibling(&current); sibling; sibling = NodeRenderingTraversal::nextSibling(sibling)) {
</span><span class="cx"> // Siblings haven't been attached yet. They will be handled normally when they are.
</span><del>- if (!sibling->attached())
</del><ins>+ if (sibling->styleChangeType() == ReconstructRenderTree)
</ins><span class="cx"> return;
</span><span class="cx"> if (sibling->isElementNode()) {
</span><span class="cx"> // Text renderers beyond rendered elements can't be affected.
</span><span class="lines">@@ -416,8 +416,6 @@
</span><span class="cx">
</span><span class="cx"> void updateTextRendererAfterContentChange(Text& textNode, unsigned offsetOfReplacedData, unsigned lengthOfReplacedData)
</span><span class="cx"> {
</span><del>- if (!textNode.attached())
- return;
</del><span class="cx"> RenderText* textRenderer = textNode.renderer();
</span><span class="cx"> if (!textRenderer) {
</span><span class="cx"> attachTextRenderer(textNode);
</span><span class="lines">@@ -896,7 +894,7 @@
</span><span class="cx">
</span><span class="cx"> void reattachRenderTree(Element& current)
</span><span class="cx"> {
</span><del>- if (current.attached())
</del><ins>+ if (current.renderer())
</ins><span class="cx"> detachRenderTree(current, ReattachDetach);
</span><span class="cx"> attachRenderTree(current);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/testing/Internals.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -1924,6 +1924,7 @@
</span><span class="cx">
</span><span class="cx"> PassRefPtr<MallocStatistics> Internals::mallocStatistics() const
</span><span class="cx"> {
</span><ins>+// WTF::releaseFastMallocFreeMemory();
</ins><span class="cx"> return MallocStatistics::create();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLErrorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLErrors.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLErrors.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/xml/XMLErrors.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -127,8 +127,6 @@
</span><span class="cx"> RefPtr<Element> body = m_document->createElement(bodyTag, true);
</span><span class="cx"> rootElement->parserAppendChild(body);
</span><span class="cx"> m_document->parserAppendChild(rootElement);
</span><del>- if (m_document->attached() && !rootElement->attached())
- Style::attachRenderTree(*rootElement);
</del><span class="cx"> documentElement = body.get();
</span><span class="cx"> }
</span><span class="cx"> #if ENABLE(SVG)
</span><span class="lines">@@ -138,13 +136,11 @@
</span><span class="cx"> rootElement->parserAppendChild(body);
</span><span class="cx">
</span><span class="cx"> documentElement->parentNode()->parserRemoveChild(*documentElement);
</span><del>- if (documentElement->attached())
- Style::detachRenderTree(*documentElement);
</del><span class="cx">
</span><span class="cx"> body->parserAppendChild(documentElement);
</span><span class="cx"> m_document->parserAppendChild(rootElement.get());
</span><span class="cx">
</span><del>- if (m_document->attached())
</del><ins>+ if (m_document->hasLivingRenderTree())
</ins><span class="cx"> // In general, rootElement shouldn't be attached right now, but it will be if there is a style element
</span><span class="cx"> // in the SVG content.
</span><span class="cx"> Style::reattachRenderTree(*rootElement);
</span><span class="lines">@@ -173,9 +169,6 @@
</span><span class="cx"> else
</span><span class="cx"> documentElement->parserAppendChild(reportElement);
</span><span class="cx">
</span><del>- if (documentElement->attached() && !reportElement->attached())
- Style::attachRenderTree(*reportElement);
-
</del><span class="cx"> m_document->updateStyleIfNeeded();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorexmlparserXMLDocumentParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -166,7 +166,7 @@
</span><span class="cx"> Vector<xmlChar> empty;
</span><span class="cx"> m_bufferedText.swap(empty);
</span><span class="cx">
</span><del>- if (m_view && m_leafTextNode->parentNode() && m_leafTextNode->parentNode()->attached() && !m_leafTextNode->attached())
</del><ins>+ if (m_view && m_leafTextNode->parentNode() && m_leafTextNode->parentNode()->renderer() && !m_leafTextNode->renderer())
</ins><span class="cx"> Style::attachTextRenderer(*m_leafTextNode);
</span><span class="cx">
</span><span class="cx"> m_leafTextNode = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp (161126 => 161127)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp        2013-12-29 21:50:55 UTC (rev 161126)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp        2013-12-29 22:40:04 UTC (rev 161127)
</span><span class="lines">@@ -47,6 +47,7 @@
</span><span class="cx"> #include "HTMLTemplateElement.h"
</span><span class="cx"> #include "Page.h"
</span><span class="cx"> #include "ProcessingInstruction.h"
</span><ins>+#include "RenderElement.h"
</ins><span class="cx"> #include "ResourceError.h"
</span><span class="cx"> #include "ResourceRequest.h"
</span><span class="cx"> #include "ResourceResponse.h"
</span><span class="lines">@@ -854,7 +855,7 @@
</span><span class="cx"> pushCurrentNode(newElement.get());
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- if (m_view && currentNode->attached() && !newElement->attached())
</del><ins>+ if (m_view && currentNode->renderer() && !newElement->renderer())
</ins><span class="cx"> Style::attachRenderTree(*newElement);
</span><span class="cx">
</span><span class="cx"> if (newElement->hasTagName(HTMLNames::htmlTag))
</span><span class="lines">@@ -1030,7 +1031,7 @@
</span><span class="cx">
</span><span class="cx"> RefPtr<CDATASection> newNode = CDATASection::create(m_currentNode->document(), toString(s, len));
</span><span class="cx"> m_currentNode->parserAppendChild(newNode.get());
</span><del>- if (m_view && !newNode->attached())
</del><ins>+ if (m_view)
</ins><span class="cx"> Style::attachTextRenderer(*newNode);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>