summaryrefslogtreecommitdiffstats
path: root/WebCore/editing/visible_units.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/editing/visible_units.cpp')
-rw-r--r--WebCore/editing/visible_units.cpp51
1 files changed, 6 insertions, 45 deletions
diff --git a/WebCore/editing/visible_units.cpp b/WebCore/editing/visible_units.cpp
index 7d46374..d7343bf 100644
--- a/WebCore/editing/visible_units.cpp
+++ b/WebCore/editing/visible_units.cpp
@@ -45,30 +45,6 @@ namespace WebCore {
using namespace HTMLNames;
using namespace WTF::Unicode;
-static int endOfFirstWordBoundaryContext(const UChar* characters, int length)
-{
- for (int i = 0; i < length; ) {
- int first = i;
- UChar32 ch;
- U16_NEXT(characters, i, length, ch);
- if (!requiresContextForWordBoundary(ch))
- return first;
- }
- return length;
-}
-
-static int startOfLastWordBoundaryContext(const UChar* characters, int length)
-{
- for (int i = length; i > 0; ) {
- int last = i;
- UChar32 ch;
- U16_PREV(characters, 0, i, ch);
- if (!requiresContextForWordBoundary(ch))
- return last;
- }
- return 0;
-}
-
enum BoundarySearchContextAvailability { DontHaveMoreContext, MayHaveMoreContext };
typedef unsigned (*BoundarySearchFunction)(const UChar*, unsigned length, unsigned offset, BoundarySearchContextAvailability, bool& needMoreContext);
@@ -418,21 +394,6 @@ static VisiblePosition startPositionForLine(const VisiblePosition& c)
VisiblePosition startOfLine(const VisiblePosition& c)
{
VisiblePosition visPos = startPositionForLine(c);
-
- if (visPos.isNotNull()) {
- // Make sure the start of line is not greater than the given input position. Else use the previous position to
- // obtain start of line. This condition happens when the input position is before the space character at the end
- // of a soft-wrapped non-editable line. In this scenario, startPositionForLine would incorrectly hand back a position
- // greater than the input position. This fix is to account for the discrepancy between lines with webkit-line-break:after-white-space
- // style versus lines without that style, which would break before a space by default.
- Position p = visPos.deepEquivalent();
- if (p.deprecatedEditingOffset() > c.deepEquivalent().deprecatedEditingOffset() && p.node()->isSameNode(c.deepEquivalent().node())) {
- visPos = c.previous();
- if (visPos.isNull())
- return VisiblePosition();
- visPos = startPositionForLine(visPos);
- }
- }
return c.honorEditableBoundaryAtOrAfter(visPos);
}
@@ -780,7 +741,7 @@ VisiblePosition nextSentencePosition(const VisiblePosition &c)
return c.honorEditableBoundaryAtOrBefore(next);
}
-VisiblePosition startOfParagraph(const VisiblePosition& c, Position::EditingBoundaryCrossingRule boundaryCrossingRule)
+VisiblePosition startOfParagraph(const VisiblePosition& c, EditingBoundaryCrossingRule boundaryCrossingRule)
{
Position p = c.deepEquivalent();
Node *startNode = p.node();
@@ -798,7 +759,7 @@ VisiblePosition startOfParagraph(const VisiblePosition& c, Position::EditingBoun
Node *n = startNode;
while (n) {
- if (boundaryCrossingRule == Position::CannotCrossEditingBoundary && n->isContentEditable() != startNode->isContentEditable())
+ if (boundaryCrossingRule == CannotCrossEditingBoundary && n->isContentEditable() != startNode->isContentEditable())
break;
RenderObject *r = n->renderer();
if (!r) {
@@ -839,7 +800,7 @@ VisiblePosition startOfParagraph(const VisiblePosition& c, Position::EditingBoun
return VisiblePosition(node, offset, DOWNSTREAM);
}
-VisiblePosition endOfParagraph(const VisiblePosition &c, Position::EditingBoundaryCrossingRule boundaryCrossingRule)
+VisiblePosition endOfParagraph(const VisiblePosition &c, EditingBoundaryCrossingRule boundaryCrossingRule)
{
if (c.isNull())
return VisiblePosition();
@@ -858,7 +819,7 @@ VisiblePosition endOfParagraph(const VisiblePosition &c, Position::EditingBounda
Node *n = startNode;
while (n) {
- if (boundaryCrossingRule == Position::CannotCrossEditingBoundary && n->isContentEditable() != startNode->isContentEditable())
+ if (boundaryCrossingRule == CannotCrossEditingBoundary && n->isContentEditable() != startNode->isContentEditable())
break;
RenderObject *r = n->renderer();
if (!r) {
@@ -914,12 +875,12 @@ bool inSameParagraph(const VisiblePosition &a, const VisiblePosition &b)
return a.isNotNull() && startOfParagraph(a) == startOfParagraph(b);
}
-bool isStartOfParagraph(const VisiblePosition &pos, Position::EditingBoundaryCrossingRule boundaryCrossingRule)
+bool isStartOfParagraph(const VisiblePosition &pos, EditingBoundaryCrossingRule boundaryCrossingRule)
{
return pos.isNotNull() && pos == startOfParagraph(pos, boundaryCrossingRule);
}
-bool isEndOfParagraph(const VisiblePosition &pos, Position::EditingBoundaryCrossingRule boundaryCrossingRule)
+bool isEndOfParagraph(const VisiblePosition &pos, EditingBoundaryCrossingRule boundaryCrossingRule)
{
return pos.isNotNull() && pos == endOfParagraph(pos, boundaryCrossingRule);
}