[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
rniwa at webkit.org
rniwa at webkit.org
Sun Feb 20 23:37:40 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit 0798fc98e27bdef6bee7bd890600f2c715e355b9
Author: rniwa at webkit.org <rniwa at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Jan 22 10:51:42 2011 +0000
2011-01-22 Ryosuke Niwa <rniwa at webkit.org>
Reviewed by Eric Seidel.
Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=52759
Stopped instantiating legacy editing positions in the following files.
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
* editing/visible_units.cpp:
(WebCore::previousBoundary):
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
(WebCore::startOfBlock):
* page/Frame.cpp:
(WebCore::Frame::visiblePositionForPoint):
* rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
* rendering/RenderBlock.h: Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 5c512cd..b663c82 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,24 @@
+2011-01-22 Ryosuke Niwa <rniwa at webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
+ https://bugs.webkit.org/show_bug.cgi?id=52759
+
+ Stopped instantiating legacy editing positions in the following files.
+
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
+ * editing/visible_units.cpp:
+ (WebCore::previousBoundary):
+ (WebCore::previousLinePosition):
+ (WebCore::nextLinePosition):
+ (WebCore::startOfBlock):
+ * page/Frame.cpp:
+ (WebCore::Frame::visiblePositionForPoint):
+ * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
+ * rendering/RenderBlock.h: Ditto.
+
2011-01-22 Adrienne Walker <enne at google.com>
Reviewed by James Robinson.
diff --git a/Source/WebCore/editing/VisibleSelection.cpp b/Source/WebCore/editing/VisibleSelection.cpp
index 035afb8..a414581 100644
--- a/Source/WebCore/editing/VisibleSelection.cpp
+++ b/Source/WebCore/editing/VisibleSelection.cpp
@@ -526,13 +526,13 @@ void VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries()
Position p = nextVisuallyDistinctCandidate(m_start);
Node* shadowAncestor = startRoot ? startRoot->shadowAncestorNode() : 0;
if (p.isNull() && startRoot && (shadowAncestor != startRoot))
- p = Position(shadowAncestor, 0);
+ p = positionBeforeNode(shadowAncestor);
while (p.isNotNull() && !(lowestEditableAncestor(p.node()) == baseEditableAncestor && !isEditablePosition(p))) {
Node* root = editableRootForPosition(p);
shadowAncestor = root ? root->shadowAncestorNode() : 0;
p = isAtomicNode(p.node()) ? positionInParentAfterNode(p.node()) : nextVisuallyDistinctCandidate(p);
if (p.isNull() && (shadowAncestor != root))
- p = Position(shadowAncestor, 0);
+ p = positionBeforeNode(shadowAncestor);
}
VisiblePosition next(p);
diff --git a/Source/WebCore/editing/visible_units.cpp b/Source/WebCore/editing/visible_units.cpp
index 3582aa9..f59d5c8 100644
--- a/Source/WebCore/editing/visible_units.cpp
+++ b/Source/WebCore/editing/visible_units.cpp
@@ -536,7 +536,7 @@ VisiblePosition previousLinePosition(const VisiblePosition &visiblePosition, int
while (n && startBlock == enclosingNodeWithNonInlineRenderer(n))
n = previousLeafWithSameEditability(n);
while (n) {
- if (highestEditableRoot(Position(n, 0)) != highestRoot)
+ if (highestEditableRoot(firstPositionInOrBeforeNode(n)) != highestRoot)
break;
Position pos(n, caretMinOffset(n));
if (pos.isCandidate()) {
@@ -567,7 +567,7 @@ VisiblePosition previousLinePosition(const VisiblePosition &visiblePosition, int
RenderObject* renderer = root->closestLeafChildForLogicalLeftPosition(x - absPos.x(), isEditablePosition(p))->renderer();
Node* node = renderer->node();
if (node && editingIgnoresContent(node))
- return Position(node->parentNode(), node->nodeIndex());
+ return positionInParentBeforeNode(node);
return renderer->positionForPoint(IntPoint(x - absPos.x(), root->lineTop()));
}
@@ -645,7 +645,7 @@ VisiblePosition nextLinePosition(const VisiblePosition &visiblePosition, int x)
while (n && startBlock == enclosingNodeWithNonInlineRenderer(n))
n = nextLeafWithSameEditability(n);
while (n) {
- if (highestEditableRoot(Position(n, 0)) != highestRoot)
+ if (highestEditableRoot(firstPositionInOrBeforeNode(n)) != highestRoot)
break;
Position pos(n, caretMinOffset(n));
if (pos.isCandidate()) {
@@ -672,7 +672,7 @@ VisiblePosition nextLinePosition(const VisiblePosition &visiblePosition, int x)
RenderObject* renderer = root->closestLeafChildForLogicalLeftPosition(x - absPos.x(), isEditablePosition(p))->renderer();
Node* node = renderer->node();
if (node && editingIgnoresContent(node))
- return Position(node->parentNode(), node->nodeIndex());
+ return positionInParentBeforeNode(node);
return renderer->positionForPoint(IntPoint(x - absPos.x(), root->lineTop()));
}
@@ -913,7 +913,7 @@ VisiblePosition startOfBlock(const VisiblePosition &c)
Node *startNode = p.node();
if (!startNode)
return VisiblePosition();
- return VisiblePosition(Position(startNode->enclosingBlockFlowElement(), 0), DOWNSTREAM);
+ return VisiblePosition(firstPositionInNode(startNode->enclosingBlockFlowElement()), DOWNSTREAM);
}
VisiblePosition endOfBlock(const VisiblePosition &c)
diff --git a/Source/WebCore/page/Frame.cpp b/Source/WebCore/page/Frame.cpp
index 545fb99..0c1a2dc 100644
--- a/Source/WebCore/page/Frame.cpp
+++ b/Source/WebCore/page/Frame.cpp
@@ -785,7 +785,7 @@ VisiblePosition Frame::visiblePositionForPoint(const IntPoint& framePoint)
return VisiblePosition();
VisiblePosition visiblePos = renderer->positionForPoint(result.localPoint());
if (visiblePos.isNull())
- visiblePos = VisiblePosition(Position(node, 0));
+ visiblePos = firstPositionInOrBeforeNode(node);
return visiblePos;
}
diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp
index 33c5d8b..bf10532 100644
--- a/Source/WebCore/rendering/RenderBlock.cpp
+++ b/Source/WebCore/rendering/RenderBlock.cpp
@@ -3932,25 +3932,6 @@ Position RenderBlock::positionForBox(InlineBox *box, bool start) const
return Position(box->renderer()->node(), start ? textBox->start() : textBox->start() + textBox->len());
}
-Position RenderBlock::positionForRenderer(RenderObject* renderer, bool start) const
-{
- if (!renderer)
- return Position(node(), 0);
-
- Node* n = renderer->node() ? renderer->node() : node();
- if (!n)
- return Position();
-
- ASSERT(renderer == n->renderer());
-
- int offset = start ? renderer->caretMinOffset() : renderer->caretMaxOffset();
-
- // FIXME: This was a runtime check that seemingly couldn't fail; changed it to an assertion for now.
- ASSERT(!n->isCharacterDataNode() || renderer->isText());
-
- return Position(n, offset);
-}
-
// FIXME: This function should go on RenderObject as an instance method. Then
// all cases in which positionForPoint recurs could call this instead to
// prevent crossing editable boundaries. This would require many tests.
diff --git a/Source/WebCore/rendering/RenderBlock.h b/Source/WebCore/rendering/RenderBlock.h
index f8829ee..e43b87d 100644
--- a/Source/WebCore/rendering/RenderBlock.h
+++ b/Source/WebCore/rendering/RenderBlock.h
@@ -568,7 +568,6 @@ private:
void newLine(EClear);
Position positionForBox(InlineBox*, bool start = true) const;
- Position positionForRenderer(RenderObject*, bool start = true) const;
VisiblePosition positionForPointWithInlineChildren(const IntPoint&);
// Adjust tx and ty from painting offsets to the local coords of this renderer
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list