<!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>[175836] trunk/Source/WebCore</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/175836">175836</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2014-11-10 16:02:57 -0800 (Mon, 10 Nov 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
https://bugs.webkit.org/show_bug.cgi?id=138578
Reviewed by Andreas Kling.
Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
and turn the argument into a reference to make it clear it cannot be
null.
No new tests, no behavior change.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::willRemoveChild):
* dom/Document.cpp:
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
* dom/Document.h:
* dom/NodeIterator.cpp:
(WebCore::NodeIterator::nodeWillBeRemoved):
(WebCore::NodeIterator::updateForNodeRemoval):
* dom/NodeIterator.h:
* dom/Range.cpp:
(WebCore::Range::insertNode):
(WebCore::boundaryNodeWillBeRemoved):
(WebCore::Range::nodeWillBeRemoved):
* dom/Range.h:
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::setToBeforeChild):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren):
* editing/CompositeEditCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeNode):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::removeRedundantBlocks):
* editing/FrameSelection.cpp:
(WebCore::removingNodeRemovesPosition):
(WebCore::DragCaretController::nodeWillBeRemoved):
(WebCore::FrameSelection::nodeWillBeRemoved):
(WebCore::FrameSelection::respondToNodeModification):
* editing/FrameSelection.h:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
* editing/htmlediting.cpp:
(WebCore::updatePositionForNodeRemoval):
* editing/htmlediting.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::nodeWillBeRemoved):
* page/EventHandler.h:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</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="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratorcpp">trunk/Source/WebCore/dom/NodeIterator.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratorh">trunk/Source/WebCore/dom/NodeIterator.h</a></li>
<li><a href="#trunkSourceWebCoredomRangecpp">trunk/Source/WebCore/dom/Range.cpp</a></li>
<li><a href="#trunkSourceWebCoredomRangeh">trunk/Source/WebCore/dom/Range.h</a></li>
<li><a href="#trunkSourceWebCoredomRangeBoundaryPointh">trunk/Source/WebCore/dom/RangeBoundaryPoint.h</a></li>
<li><a href="#trunkSourceWebCoreeditingCompositeEditCommandcpp">trunk/Source/WebCore/editing/CompositeEditCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingCompositeEditCommandh">trunk/Source/WebCore/editing/CompositeEditCommand.h</a></li>
<li><a href="#trunkSourceWebCoreeditingDeleteSelectionCommandcpp">trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingFrameSelectioncpp">trunk/Source/WebCore/editing/FrameSelection.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingFrameSelectionh">trunk/Source/WebCore/editing/FrameSelection.h</a></li>
<li><a href="#trunkSourceWebCoreeditingReplaceSelectionCommandcpp">trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditinghtmleditingcpp">trunk/Source/WebCore/editing/htmlediting.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditinghtmleditingh">trunk/Source/WebCore/editing/htmlediting.h</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlercpp">trunk/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlerh">trunk/Source/WebCore/page/EventHandler.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/ChangeLog        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -1,3 +1,55 @@
</span><ins>+2014-11-10 Chris Dumez <cdumez@apple.com>
+
+ Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
+ https://bugs.webkit.org/show_bug.cgi?id=138578
+
+ Reviewed by Andreas Kling.
+
+ Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
+ and turn the argument into a reference to make it clear it cannot be
+ null.
+
+ No new tests, no behavior change.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::willRemoveChild):
+ * dom/Document.cpp:
+ (WebCore::Document::nodeChildrenWillBeRemoved):
+ (WebCore::Document::nodeWillBeRemoved):
+ * dom/Document.h:
+ * dom/NodeIterator.cpp:
+ (WebCore::NodeIterator::nodeWillBeRemoved):
+ (WebCore::NodeIterator::updateForNodeRemoval):
+ * dom/NodeIterator.h:
+ * dom/Range.cpp:
+ (WebCore::Range::insertNode):
+ (WebCore::boundaryNodeWillBeRemoved):
+ (WebCore::Range::nodeWillBeRemoved):
+ * dom/Range.h:
+ * dom/RangeBoundaryPoint.h:
+ (WebCore::RangeBoundaryPoint::setToBeforeChild):
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren):
+ * editing/CompositeEditCommand.h:
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::removeNode):
+ (WebCore::DeleteSelectionCommand::handleGeneralDelete):
+ (WebCore::DeleteSelectionCommand::removeRedundantBlocks):
+ * editing/FrameSelection.cpp:
+ (WebCore::removingNodeRemovesPosition):
+ (WebCore::DragCaretController::nodeWillBeRemoved):
+ (WebCore::FrameSelection::nodeWillBeRemoved):
+ (WebCore::FrameSelection::respondToNodeModification):
+ * editing/FrameSelection.h:
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
+ * editing/htmlediting.cpp:
+ (WebCore::updatePositionForNodeRemoval):
+ * editing/htmlediting.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::nodeWillBeRemoved):
+ * page/EventHandler.h:
+
</ins><span class="cx"> 2014-11-10 Benjamin Poulain <bpoulain@apple.com>
</span><span class="cx">
</span><span class="cx"> Fix the build when CSS Selectors Level 4 is disabled
</span></span></pre></div>
<a id="trunkSourceWebCoredomContainerNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ContainerNode.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -476,7 +476,7 @@
</span><span class="cx"> if (child.parentNode() != this)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- child.document().nodeWillBeRemoved(&child); // e.g. mutation event listener can create a new range.
</del><ins>+ child.document().nodeWillBeRemoved(child); // e.g. mutation event listener can create a new range.
</ins><span class="cx"> if (is<ContainerNode>(child))
</span><span class="cx"> disconnectSubframesIfNeeded(downcast<ContainerNode>(child), RootAndDescendants);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/dom/Document.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -3661,19 +3661,19 @@
</span><span class="cx">
</span><span class="cx"> for (auto it = m_nodeIterators.begin(), end = m_nodeIterators.end(); it != end; ++it) {
</span><span class="cx"> for (Node* n = container.firstChild(); n; n = n->nextSibling())
</span><del>- (*it)->nodeWillBeRemoved(n);
</del><ins>+ (*it)->nodeWillBeRemoved(*n);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (Frame* frame = this->frame()) {
</span><span class="cx"> for (Node* n = container.firstChild(); n; n = n->nextSibling()) {
</span><del>- frame->eventHandler().nodeWillBeRemoved(n);
- frame->selection().nodeWillBeRemoved(n);
- frame->page()->dragCaretController().nodeWillBeRemoved(n);
</del><ins>+ frame->eventHandler().nodeWillBeRemoved(*n);
+ frame->selection().nodeWillBeRemoved(*n);
+ frame->page()->dragCaretController().nodeWillBeRemoved(*n);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Document::nodeWillBeRemoved(Node* n)
</del><ins>+void Document::nodeWillBeRemoved(Node& n)
</ins><span class="cx"> {
</span><span class="cx"> HashSet<NodeIterator*>::const_iterator nodeIteratorsEnd = m_nodeIterators.end();
</span><span class="cx"> for (HashSet<NodeIterator*>::const_iterator it = m_nodeIterators.begin(); it != nodeIteratorsEnd; ++it)
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/dom/Document.h        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -796,7 +796,7 @@
</span><span class="cx"> // nodeChildrenWillBeRemoved is used when removing all node children at once.
</span><span class="cx"> void nodeChildrenWillBeRemoved(ContainerNode&);
</span><span class="cx"> // nodeWillBeRemoved is only safe when removing one node at a time.
</span><del>- void nodeWillBeRemoved(Node*);
</del><ins>+ void nodeWillBeRemoved(Node&);
</ins><span class="cx"> bool canReplaceChild(Node* newChild, Node* oldChild);
</span><span class="cx">
</span><span class="cx"> void textInserted(Node*, unsigned offset, unsigned length);
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/dom/NodeIterator.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -154,43 +154,42 @@
</span><span class="cx"> m_referenceNode.node.clear();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void NodeIterator::nodeWillBeRemoved(Node* removedNode)
</del><ins>+void NodeIterator::nodeWillBeRemoved(Node& removedNode)
</ins><span class="cx"> {
</span><span class="cx"> updateForNodeRemoval(removedNode, m_candidateNode);
</span><span class="cx"> updateForNodeRemoval(removedNode, m_referenceNode);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void NodeIterator::updateForNodeRemoval(Node* removedNode, NodePointer& referenceNode) const
</del><ins>+void NodeIterator::updateForNodeRemoval(Node& removedNode, NodePointer& referenceNode) const
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(!m_detached);
</span><del>- ASSERT(removedNode);
- ASSERT(&root()->document() == &removedNode->document());
</del><ins>+ ASSERT(&root()->document() == &removedNode.document());
</ins><span class="cx">
</span><span class="cx"> // Iterator is not affected if the removed node is the reference node and is the root.
</span><span class="cx"> // or if removed node is not the reference node, or the ancestor of the reference node.
</span><del>- if (!removedNode->isDescendantOf(root()))
</del><ins>+ if (!removedNode.isDescendantOf(root()))
</ins><span class="cx"> return;
</span><del>- bool willRemoveReferenceNode = removedNode == referenceNode.node;
- bool willRemoveReferenceNodeAncestor = referenceNode.node && referenceNode.node->isDescendantOf(removedNode);
</del><ins>+ bool willRemoveReferenceNode = &removedNode == referenceNode.node;
+ bool willRemoveReferenceNodeAncestor = referenceNode.node && referenceNode.node->isDescendantOf(&removedNode);
</ins><span class="cx"> if (!willRemoveReferenceNode && !willRemoveReferenceNodeAncestor)
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (referenceNode.isPointerBeforeNode) {
</span><del>- Node* node = NodeTraversal::next(removedNode, root());
</del><ins>+ Node* node = NodeTraversal::next(&removedNode, root());
</ins><span class="cx"> if (node) {
</span><span class="cx"> // Move out from under the node being removed if the new reference
</span><span class="cx"> // node is a descendant of the node being removed.
</span><del>- while (node && node->isDescendantOf(removedNode))
</del><ins>+ while (node && node->isDescendantOf(&removedNode))
</ins><span class="cx"> node = NodeTraversal::next(node, root());
</span><span class="cx"> if (node)
</span><span class="cx"> referenceNode.node = node;
</span><span class="cx"> } else {
</span><del>- node = NodeTraversal::previous(removedNode);
</del><ins>+ node = NodeTraversal::previous(&removedNode);
</ins><span class="cx"> if (node) {
</span><span class="cx"> // Move out from under the node being removed if the reference node is
</span><span class="cx"> // a descendant of the node being removed.
</span><span class="cx"> if (willRemoveReferenceNodeAncestor) {
</span><del>- while (node && node->isDescendantOf(removedNode))
</del><ins>+ while (node && node->isDescendantOf(&removedNode))
</ins><span class="cx"> node = NodeTraversal::previous(node);
</span><span class="cx"> }
</span><span class="cx"> if (node) {
</span><span class="lines">@@ -203,23 +202,23 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> } else {
</span><del>- Node* node = NodeTraversal::previous(removedNode);
</del><ins>+ Node* node = NodeTraversal::previous(&removedNode);
</ins><span class="cx"> if (node) {
</span><span class="cx"> // Move out from under the node being removed if the reference node is
</span><span class="cx"> // a descendant of the node being removed.
</span><span class="cx"> if (willRemoveReferenceNodeAncestor) {
</span><del>- while (node && node->isDescendantOf(removedNode))
</del><ins>+ while (node && node->isDescendantOf(&removedNode))
</ins><span class="cx"> node = NodeTraversal::previous(node);
</span><span class="cx"> }
</span><span class="cx"> if (node)
</span><span class="cx"> referenceNode.node = node;
</span><span class="cx"> } else {
</span><span class="cx"> // FIXME: This branch doesn't appear to have any LayoutTests.
</span><del>- node = NodeTraversal::next(removedNode, root());
</del><ins>+ node = NodeTraversal::next(&removedNode, root());
</ins><span class="cx"> // Move out from under the node being removed if the reference node is
</span><span class="cx"> // a descendant of the node being removed.
</span><span class="cx"> if (willRemoveReferenceNodeAncestor) {
</span><del>- while (node && node->isDescendantOf(removedNode))
</del><ins>+ while (node && node->isDescendantOf(&removedNode))
</ins><span class="cx"> node = NodeTraversal::previous(node);
</span><span class="cx"> }
</span><span class="cx"> if (node)
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.h (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.h        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/dom/NodeIterator.h        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> bool pointerBeforeReferenceNode() const { return m_referenceNode.isPointerBeforeNode; }
</span><span class="cx">
</span><span class="cx"> // This function is called before any node is removed from the document tree.
</span><del>- void nodeWillBeRemoved(Node*);
</del><ins>+ void nodeWillBeRemoved(Node&);
</ins><span class="cx">
</span><span class="cx"> // Do not call these functions. They are just scaffolding to support the Objective-C bindings.
</span><span class="cx"> // They operate in the main thread normal world, and they swallow JS exceptions.
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx"> bool moveToPrevious(Node* root);
</span><span class="cx"> };
</span><span class="cx">
</span><del>- void updateForNodeRemoval(Node* nodeToBeRemoved, NodePointer&) const;
</del><ins>+ void updateForNodeRemoval(Node& nodeToBeRemoved, NodePointer&) const;
</ins><span class="cx">
</span><span class="cx"> NodePointer m_referenceNode;
</span><span class="cx"> NodePointer m_candidateNode;
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/dom/Range.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -1050,7 +1050,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (collapsed && newText->parentNode() == container && &container->document() == &ownerDocument())
</span><del>- m_end.setToBeforeChild(newText.get());
</del><ins>+ m_end.setToBeforeChild(*newText);
</ins><span class="cx"> } else {
</span><span class="cx"> container = m_start.container();
</span><span class="cx"> RefPtr<Node> firstInsertedChild = newNodeType == Node::DOCUMENT_FRAGMENT_NODE ? newNode->firstChild() : newNode;
</span><span class="lines">@@ -1062,7 +1062,7 @@
</span><span class="cx">
</span><span class="cx"> if (collapsed && numNewChildren && &container->document() == &ownerDocument()) {
</span><span class="cx"> if (firstInsertedChild->parentNode() == container)
</span><del>- m_start.setToBeforeChild(firstInsertedChild.get());
</del><ins>+ m_start.setToBeforeChild(*firstInsertedChild);
</ins><span class="cx"> if (lastInsertedChild->parentNode() == container)
</span><span class="cx"> m_end.set(container, lastInsertedChild->computeNodeIndex() + 1, lastInsertedChild.get());
</span><span class="cx"> }
</span><span class="lines">@@ -2060,27 +2060,26 @@
</span><span class="cx"> boundaryNodeChildrenWillBeRemoved(m_end, container);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static inline void boundaryNodeWillBeRemoved(RangeBoundaryPoint& boundary, Node* nodeToBeRemoved)
</del><ins>+static inline void boundaryNodeWillBeRemoved(RangeBoundaryPoint& boundary, Node& nodeToBeRemoved)
</ins><span class="cx"> {
</span><del>- if (boundary.childBefore() == nodeToBeRemoved) {
</del><ins>+ if (boundary.childBefore() == &nodeToBeRemoved) {
</ins><span class="cx"> boundary.childBeforeWillBeRemoved();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> for (Node* n = boundary.container(); n; n = n->parentNode()) {
</span><del>- if (n == nodeToBeRemoved) {
</del><ins>+ if (n == &nodeToBeRemoved) {
</ins><span class="cx"> boundary.setToBeforeChild(nodeToBeRemoved);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Range::nodeWillBeRemoved(Node* node)
</del><ins>+void Range::nodeWillBeRemoved(Node& node)
</ins><span class="cx"> {
</span><del>- ASSERT(node);
- ASSERT(&node->document() == &ownerDocument());
- ASSERT(node != &ownerDocument());
- ASSERT(node->parentNode());
</del><ins>+ ASSERT(&node.document() == &ownerDocument());
+ ASSERT(&node != &ownerDocument());
+ ASSERT(node.parentNode());
</ins><span class="cx"> boundaryNodeWillBeRemoved(m_start, node);
</span><span class="cx"> boundaryNodeWillBeRemoved(m_end, node);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.h (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.h        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/dom/Range.h        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx">
</span><span class="cx"> void nodeChildrenChanged(ContainerNode&);
</span><span class="cx"> void nodeChildrenWillBeRemoved(ContainerNode&);
</span><del>- void nodeWillBeRemoved(Node*);
</del><ins>+ void nodeWillBeRemoved(Node&);
</ins><span class="cx">
</span><span class="cx"> void textInserted(Node*, unsigned offset, unsigned length);
</span><span class="cx"> void textRemoved(Node*, unsigned offset, unsigned length);
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangeBoundaryPointh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/RangeBoundaryPoint.h (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/RangeBoundaryPoint.h        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/dom/RangeBoundaryPoint.h        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> void set(PassRefPtr<Node> container, int offset, Node* childBefore);
</span><span class="cx"> void setOffset(int offset);
</span><span class="cx">
</span><del>- void setToBeforeChild(Node*);
</del><ins>+ void setToBeforeChild(Node&);
</ins><span class="cx"> void setToStartOfNode(PassRefPtr<Node>);
</span><span class="cx"> void setToEndOfNode(PassRefPtr<Node>);
</span><span class="cx">
</span><span class="lines">@@ -136,12 +136,11 @@
</span><span class="cx"> m_offsetInContainer = offset;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline void RangeBoundaryPoint::setToBeforeChild(Node* child)
</del><ins>+inline void RangeBoundaryPoint::setToBeforeChild(Node& child)
</ins><span class="cx"> {
</span><del>- ASSERT(child);
- ASSERT(child->parentNode());
- m_childBeforeBoundary = child->previousSibling();
- m_containerNode = child->parentNode();
</del><ins>+ ASSERT(child.parentNode());
+ m_childBeforeBoundary = child.previousSibling();
+ m_containerNode = child.parentNode();
</ins><span class="cx"> m_offsetInContainer = m_childBeforeBoundary ? invalidOffset : 0;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingCompositeEditCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/CompositeEditCommand.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/CompositeEditCommand.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/editing/CompositeEditCommand.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -423,7 +423,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren(Position& position, Node* node)
</del><ins>+void CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren(Position& position, Node& node)
</ins><span class="cx"> {
</span><span class="cx"> int offset = (position.anchorType() == Position::PositionIsOffsetInAnchor) ? position.offsetInContainerNode() : 0;
</span><span class="cx"> updatePositionForNodeRemoval(position, node);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingCompositeEditCommandh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/CompositeEditCommand.h (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/CompositeEditCommand.h        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/editing/CompositeEditCommand.h        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> void removeNodePreservingChildren(PassRefPtr<Node>, ShouldAssumeContentIsAlwaysEditable = DoNotAssumeContentIsAlwaysEditable);
</span><span class="cx"> void removeNodeAndPruneAncestors(PassRefPtr<Node>);
</span><span class="cx"> void moveRemainingSiblingsToNewParent(Node*, Node* pastLastNodeToMove, PassRefPtr<Element> prpNewParent);
</span><del>- void updatePositionForNodeRemovalPreservingChildren(Position&, Node*);
</del><ins>+ void updatePositionForNodeRemovalPreservingChildren(Position&, Node&);
</ins><span class="cx"> void prune(PassRefPtr<Node>);
</span><span class="cx"> void replaceTextInNode(PassRefPtr<Text>, unsigned offset, unsigned count, const String& replacementText);
</span><span class="cx"> Position replaceSelectedTextInNode(const String&);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingDeleteSelectionCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -402,9 +402,9 @@
</span><span class="cx"> m_needPlaceholder = true;
</span><span class="cx">
</span><span class="cx"> // FIXME: Update the endpoints of the range being deleted.
</span><del>- updatePositionForNodeRemoval(m_endingPosition, node.get());
- updatePositionForNodeRemoval(m_leadingWhitespace, node.get());
- updatePositionForNodeRemoval(m_trailingWhitespace, node.get());
</del><ins>+ updatePositionForNodeRemoval(m_endingPosition, *node);
+ updatePositionForNodeRemoval(m_leadingWhitespace, *node);
+ updatePositionForNodeRemoval(m_trailingWhitespace, *node);
</ins><span class="cx">
</span><span class="cx"> CompositeEditCommand::removeNode(node, shouldAssumeContentIsAlwaysEditable);
</span><span class="cx"> }
</span><span class="lines">@@ -526,7 +526,7 @@
</span><span class="cx"> RefPtr<Node> nextNode = NodeTraversal::nextSkippingChildren(node.get());
</span><span class="cx"> // if we just removed a node from the end container, update end position so the
</span><span class="cx"> // check above will work
</span><del>- updatePositionForNodeRemoval(m_downstreamEnd, node.get());
</del><ins>+ updatePositionForNodeRemoval(m_downstreamEnd, *node);
</ins><span class="cx"> removeNode(node.get());
</span><span class="cx"> node = nextNode.get();
</span><span class="cx"> } else {
</span><span class="lines">@@ -784,7 +784,7 @@
</span><span class="cx"> while (node != rootNode) {
</span><span class="cx"> if (isRemovableBlock(node)) {
</span><span class="cx"> if (node == m_endingPosition.anchorNode())
</span><del>- updatePositionForNodeRemovalPreservingChildren(m_endingPosition, node);
</del><ins>+ updatePositionForNodeRemovalPreservingChildren(m_endingPosition, *node);
</ins><span class="cx">
</span><span class="cx"> CompositeEditCommand::removeNodePreservingChildren(node);
</span><span class="cx"> node = m_endingPosition.anchorNode();
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFrameSelectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FrameSelection.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -390,19 +390,18 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static bool removingNodeRemovesPosition(Node* node, const Position& position)
</del><ins>+static bool removingNodeRemovesPosition(Node& node, const Position& position)
</ins><span class="cx"> {
</span><span class="cx"> if (!position.anchorNode())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (position.anchorNode() == node)
</del><ins>+ if (position.anchorNode() == &node)
</ins><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (!is<Element>(*node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- Element* element = downcast<Element>(node);
- return element->containsIncludingShadowDOM(position.anchorNode());
</del><ins>+ return downcast<Element>(node).containsIncludingShadowDOM(position.anchorNode());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static void clearRenderViewSelection(Node& node)
</span><span class="lines">@@ -413,30 +412,30 @@
</span><span class="cx"> view->clearSelection();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void DragCaretController::nodeWillBeRemoved(Node* node)
</del><ins>+void DragCaretController::nodeWillBeRemoved(Node& node)
</ins><span class="cx"> {
</span><del>- if (!hasCaret() || (node && !node->inDocument()))
</del><ins>+ if (!hasCaret() || !node.inDocument())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (!removingNodeRemovesPosition(node, m_position.deepEquivalent()))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- clearRenderViewSelection(*node);
</del><ins>+ clearRenderViewSelection(node);
</ins><span class="cx"> clear();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void FrameSelection::nodeWillBeRemoved(Node* node)
</del><ins>+void FrameSelection::nodeWillBeRemoved(Node& node)
</ins><span class="cx"> {
</span><span class="cx"> // There can't be a selection inside a fragment, so if a fragment's node is being removed,
</span><span class="cx"> // the selection in the document that created the fragment needs no adjustment.
</span><del>- if (isNone() || (node && !node->inDocument()))
</del><ins>+ if (isNone() || !node.inDocument())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> respondToNodeModification(node, removingNodeRemovesPosition(node, m_selection.base()), removingNodeRemovesPosition(node, m_selection.extent()),
</span><span class="cx"> removingNodeRemovesPosition(node, m_selection.start()), removingNodeRemovesPosition(node, m_selection.end()));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void FrameSelection::respondToNodeModification(Node* node, bool baseRemoved, bool extentRemoved, bool startRemoved, bool endRemoved)
</del><ins>+void FrameSelection::respondToNodeModification(Node& node, bool baseRemoved, bool extentRemoved, bool startRemoved, bool endRemoved)
</ins><span class="cx"> {
</span><span class="cx"> bool clearRenderTreeSelection = false;
</span><span class="cx"> bool clearDOMTreeSelection = false;
</span><span class="lines">@@ -469,7 +468,7 @@
</span><span class="cx"> m_selection.setWithoutValidation(m_selection.end(), m_selection.start());
</span><span class="cx"> } else if (RefPtr<Range> range = m_selection.firstRange()) {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- Range::CompareResults compareResult = range->compareNode(node, ec);
</del><ins>+ Range::CompareResults compareResult = range->compareNode(&node, ec);
</ins><span class="cx"> if (!ec && (compareResult == Range::NODE_BEFORE_AND_AFTER || compareResult == Range::NODE_INSIDE)) {
</span><span class="cx"> // If we did nothing here, when this node's renderer was destroyed, the rect that it
</span><span class="cx"> // occupied would be invalidated, but, selection gaps that change as a result of
</span><span class="lines">@@ -480,10 +479,10 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (clearRenderTreeSelection) {
</span><del>- clearRenderViewSelection(*node);
</del><ins>+ clearRenderViewSelection(node);
</ins><span class="cx">
</span><span class="cx"> // Trigger a selection update so the selection will be set again.
</span><del>- if (auto* renderView = node->document().renderView()) {
</del><ins>+ if (auto* renderView = node.document().renderView()) {
</ins><span class="cx"> m_pendingSelectionUpdate = true;
</span><span class="cx"> renderView->setNeedsLayout();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFrameSelectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FrameSelection.h (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FrameSelection.h        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/editing/FrameSelection.h        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> void setCaretPosition(const VisiblePosition&);
</span><span class="cx"> WEBCORE_EXPORT void clear() { setCaretPosition(VisiblePosition()); }
</span><span class="cx">
</span><del>- void nodeWillBeRemoved(Node*);
</del><ins>+ void nodeWillBeRemoved(Node&);
</ins><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> VisiblePosition m_position;
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx">
</span><span class="cx"> void debugRenderer(RenderObject*, bool selected) const;
</span><span class="cx">
</span><del>- void nodeWillBeRemoved(Node*);
</del><ins>+ void nodeWillBeRemoved(Node&);
</ins><span class="cx"> void textWasReplaced(CharacterData*, unsigned offset, unsigned oldLength, unsigned newLength);
</span><span class="cx">
</span><span class="cx"> void setCaretVisible(bool caretIsVisible) { setCaretVisibility(caretIsVisible ? Visible : Hidden); }
</span><span class="lines">@@ -276,7 +276,7 @@
</span><span class="cx">
</span><span class="cx"> bool setSelectionWithoutUpdatingAppearance(const VisibleSelection&, SetSelectionOptions, CursorAlignOnScroll, TextGranularity);
</span><span class="cx">
</span><del>- void respondToNodeModification(Node*, bool baseRemoved, bool extentRemoved, bool startRemoved, bool endRemoved);
</del><ins>+ void respondToNodeModification(Node&, bool baseRemoved, bool extentRemoved, bool startRemoved, bool endRemoved);
</ins><span class="cx"> TextDirection directionOfEnclosingBlock();
</span><span class="cx"> TextDirection directionOfSelection();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingReplaceSelectionCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -1391,7 +1391,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (is<Text>(text->previousSibling())) {
</span><del>- RefPtr<Text> previous = downcast<Text>(text->previousSibling());
</del><ins>+ Ref<Text> previous(downcast<Text>(*text->previousSibling()));
</ins><span class="cx"> insertTextIntoNode(text, 0, previous->data());
</span><span class="cx">
</span><span class="cx"> if (positionIsOffsetInAnchor)
</span><span class="lines">@@ -1402,27 +1402,27 @@
</span><span class="cx"> if (positionOnlyToBeUpdatedIsOffsetInAnchor) {
</span><span class="cx"> if (positionOnlyToBeUpdated.containerNode() == text)
</span><span class="cx"> positionOnlyToBeUpdated.moveToOffset(previous->length() + positionOnlyToBeUpdated.offsetInContainerNode());
</span><del>- else if (positionOnlyToBeUpdated.containerNode() == previous)
</del><ins>+ else if (positionOnlyToBeUpdated.containerNode() == previous.ptr())
</ins><span class="cx"> positionOnlyToBeUpdated.moveToPosition(text, positionOnlyToBeUpdated.offsetInContainerNode());
</span><span class="cx"> } else
</span><span class="cx"> updatePositionForNodeRemoval(positionOnlyToBeUpdated, previous.get());
</span><span class="cx">
</span><del>- removeNode(previous);
</del><ins>+ removeNode(previous.ptr());
</ins><span class="cx"> }
</span><span class="cx"> if (is<Text>(text->nextSibling())) {
</span><del>- RefPtr<Text> next = downcast<Text>(text->nextSibling());
</del><ins>+ Ref<Text> next(downcast<Text>(*text->nextSibling()));
</ins><span class="cx"> unsigned originalLength = text->length();
</span><span class="cx"> insertTextIntoNode(text, originalLength, next->data());
</span><span class="cx">
</span><span class="cx"> if (!positionIsOffsetInAnchor)
</span><span class="cx"> updatePositionForNodeRemoval(position, next.get());
</span><span class="cx">
</span><del>- if (positionOnlyToBeUpdatedIsOffsetInAnchor && positionOnlyToBeUpdated.containerNode() == next)
</del><ins>+ if (positionOnlyToBeUpdatedIsOffsetInAnchor && positionOnlyToBeUpdated.containerNode() == next.ptr())
</ins><span class="cx"> positionOnlyToBeUpdated.moveToPosition(text, originalLength + positionOnlyToBeUpdated.offsetInContainerNode());
</span><span class="cx"> else
</span><span class="cx"> updatePositionForNodeRemoval(positionOnlyToBeUpdated, next.get());
</span><span class="cx">
</span><del>- removeNode(next);
</del><ins>+ removeNode(next.ptr());
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreeditinghtmleditingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/htmlediting.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/htmlediting.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/editing/htmlediting.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -984,32 +984,32 @@
</span><span class="cx"> return num;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void updatePositionForNodeRemoval(Position& position, Node* node)
</del><ins>+void updatePositionForNodeRemoval(Position& position, Node& node)
</ins><span class="cx"> {
</span><span class="cx"> if (position.isNull())
</span><span class="cx"> return;
</span><span class="cx"> switch (position.anchorType()) {
</span><span class="cx"> case Position::PositionIsBeforeChildren:
</span><del>- if (node->containsIncludingShadowDOM(position.containerNode()))
- position = positionInParentBeforeNode(node);
</del><ins>+ if (node.containsIncludingShadowDOM(position.containerNode()))
+ position = positionInParentBeforeNode(&node);
</ins><span class="cx"> break;
</span><span class="cx"> case Position::PositionIsAfterChildren:
</span><del>- if (node->containsIncludingShadowDOM(position.containerNode()))
- position = positionInParentBeforeNode(node);
</del><ins>+ if (node.containsIncludingShadowDOM(position.containerNode()))
+ position = positionInParentBeforeNode(&node);
</ins><span class="cx"> break;
</span><span class="cx"> case Position::PositionIsOffsetInAnchor:
</span><del>- if (position.containerNode() == node->parentNode() && static_cast<unsigned>(position.offsetInContainerNode()) > node->computeNodeIndex())
</del><ins>+ if (position.containerNode() == node.parentNode() && static_cast<unsigned>(position.offsetInContainerNode()) > node.computeNodeIndex())
</ins><span class="cx"> position.moveToOffset(position.offsetInContainerNode() - 1);
</span><del>- else if (node->containsIncludingShadowDOM(position.containerNode()))
- position = positionInParentBeforeNode(node);
</del><ins>+ else if (node.containsIncludingShadowDOM(position.containerNode()))
+ position = positionInParentBeforeNode(&node);
</ins><span class="cx"> break;
</span><span class="cx"> case Position::PositionIsAfterAnchor:
</span><del>- if (node->containsIncludingShadowDOM(position.anchorNode()))
- position = positionInParentAfterNode(node);
</del><ins>+ if (node.containsIncludingShadowDOM(position.anchorNode()))
+ position = positionInParentAfterNode(&node);
</ins><span class="cx"> break;
</span><span class="cx"> case Position::PositionIsBeforeAnchor:
</span><del>- if (node->containsIncludingShadowDOM(position.anchorNode()))
- position = positionInParentBeforeNode(node);
</del><ins>+ if (node.containsIncludingShadowDOM(position.anchorNode()))
+ position = positionInParentBeforeNode(&node);
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditinghtmleditingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/htmlediting.h (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/htmlediting.h        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/editing/htmlediting.h        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx"> // miscellaneous functions on Position
</span><span class="cx">
</span><span class="cx"> unsigned numEnclosingMailBlockquotes(const Position&);
</span><del>-void updatePositionForNodeRemoval(Position&, Node*);
</del><ins>+void updatePositionForNodeRemoval(Position&, Node&);
</ins><span class="cx">
</span><span class="cx"> // -------------------------------------------------------------------------
</span><span class="cx"> // VisiblePosition
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.cpp (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.cpp        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/page/EventHandler.cpp        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -503,10 +503,10 @@
</span><span class="cx"> m_didLongPressInvokeContextMenu = false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void EventHandler::nodeWillBeRemoved(Node* nodeToBeRemoved)
</del><ins>+void EventHandler::nodeWillBeRemoved(Node& nodeToBeRemoved)
</ins><span class="cx"> {
</span><del>- if (nodeToBeRemoved->contains(m_clickNode.get()))
- m_clickNode = 0;
</del><ins>+ if (nodeToBeRemoved.contains(m_clickNode.get()))
+ m_clickNode = nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static void setSelectionIfNeeded(FrameSelection& selection, const VisibleSelection& newSelection)
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.h (175835 => 175836)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.h        2014-11-10 23:55:56 UTC (rev 175835)
+++ trunk/Source/WebCore/page/EventHandler.h        2014-11-11 00:02:57 UTC (rev 175836)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx"> ~EventHandler();
</span><span class="cx">
</span><span class="cx"> void clear();
</span><del>- void nodeWillBeRemoved(Node*);
</del><ins>+ void nodeWillBeRemoved(Node&);
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><span class="cx"> void updateSelectionForMouseDrag();
</span></span></pre>
</div>
</div>
</body>
</html>