| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. |
| 3 * Portions Copyright (c) 2011 Motorola Mobility, Inc. All rights reserved. | 3 * Portions Copyright (c) 2011 Motorola Mobility, Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 } | 215 } |
| 216 | 216 |
| 217 // TODO(yosin) We should move |leftPositionOf()| to "VisibleUnits.cpp". | 217 // TODO(yosin) We should move |leftPositionOf()| to "VisibleUnits.cpp". |
| 218 VisiblePosition leftPositionOf(const VisiblePosition& visiblePosition) | 218 VisiblePosition leftPositionOf(const VisiblePosition& visiblePosition) |
| 219 { | 219 { |
| 220 const Position pos = leftVisuallyDistinctCandidate(visiblePosition); | 220 const Position pos = leftVisuallyDistinctCandidate(visiblePosition); |
| 221 // TODO(yosin) Why can't we move left from the last position in a tree? | 221 // TODO(yosin) Why can't we move left from the last position in a tree? |
| 222 if (pos.atStartOfTree() || pos.atEndOfTree()) | 222 if (pos.atStartOfTree() || pos.atEndOfTree()) |
| 223 return VisiblePosition(); | 223 return VisiblePosition(); |
| 224 | 224 |
| 225 VisiblePosition left = VisiblePosition(pos); | 225 VisiblePosition left = createVisiblePosition(pos); |
| 226 ASSERT(left.deepEquivalent() != visiblePosition.deepEquivalent()); | 226 ASSERT(left.deepEquivalent() != visiblePosition.deepEquivalent()); |
| 227 | 227 |
| 228 return directionOfEnclosingBlock(left.deepEquivalent()) == LTR ? honorEditin
gBoundaryAtOrBefore(left, visiblePosition.deepEquivalent()) : honorEditingBounda
ryAtOrAfter(left, visiblePosition.deepEquivalent()); | 228 return directionOfEnclosingBlock(left.deepEquivalent()) == LTR ? honorEditin
gBoundaryAtOrBefore(left, visiblePosition.deepEquivalent()) : honorEditingBounda
ryAtOrAfter(left, visiblePosition.deepEquivalent()); |
| 229 } | 229 } |
| 230 | 230 |
| 231 // TODO(yosin) We should move |rightVisuallyDistinctCandidate()| with | 231 // TODO(yosin) We should move |rightVisuallyDistinctCandidate()| with |
| 232 // |rightPositionOf()| to "VisibleUnits.cpp". | 232 // |rightPositionOf()| to "VisibleUnits.cpp". |
| 233 static Position rightVisuallyDistinctCandidate(const VisiblePosition& visiblePos
ition) | 233 static Position rightVisuallyDistinctCandidate(const VisiblePosition& visiblePos
ition) |
| 234 { | 234 { |
| 235 const Position deepPosition = visiblePosition.deepEquivalent(); | 235 const Position deepPosition = visiblePosition.deepEquivalent(); |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 } | 382 } |
| 383 | 383 |
| 384 // TODO(yosin) We should move |rightPositionOf()| to "VisibleUnits.cpp". | 384 // TODO(yosin) We should move |rightPositionOf()| to "VisibleUnits.cpp". |
| 385 VisiblePosition rightPositionOf(const VisiblePosition& visiblePosition) | 385 VisiblePosition rightPositionOf(const VisiblePosition& visiblePosition) |
| 386 { | 386 { |
| 387 const Position pos = rightVisuallyDistinctCandidate(visiblePosition); | 387 const Position pos = rightVisuallyDistinctCandidate(visiblePosition); |
| 388 // TODO(yosin) Why can't we move left from the last position in a tree? | 388 // TODO(yosin) Why can't we move left from the last position in a tree? |
| 389 if (pos.atStartOfTree() || pos.atEndOfTree()) | 389 if (pos.atStartOfTree() || pos.atEndOfTree()) |
| 390 return VisiblePosition(); | 390 return VisiblePosition(); |
| 391 | 391 |
| 392 VisiblePosition right = VisiblePosition(pos); | 392 VisiblePosition right = createVisiblePosition(pos); |
| 393 ASSERT(right.deepEquivalent() != visiblePosition.deepEquivalent()); | 393 ASSERT(right.deepEquivalent() != visiblePosition.deepEquivalent()); |
| 394 | 394 |
| 395 return directionOfEnclosingBlock(right.deepEquivalent()) == LTR ? honorEditi
ngBoundaryAtOrAfter(right, visiblePosition.deepEquivalent()) : honorEditingBound
aryAtOrBefore(right, visiblePosition.deepEquivalent()); | 395 return directionOfEnclosingBlock(right.deepEquivalent()) == LTR ? honorEditi
ngBoundaryAtOrAfter(right, visiblePosition.deepEquivalent()) : honorEditingBound
aryAtOrBefore(right, visiblePosition.deepEquivalent()); |
| 396 } | 396 } |
| 397 | 397 |
| 398 template <typename Strategy> | 398 template <typename Strategy> |
| 399 PositionWithAffinityTemplate<Strategy> honorEditingBoundaryAtOrBeforeAlgorithm(c
onst PositionWithAffinityTemplate<Strategy>& pos, const PositionAlgorithm<Strate
gy>& anchor) | 399 PositionWithAffinityTemplate<Strategy> honorEditingBoundaryAtOrBeforeAlgorithm(c
onst PositionWithAffinityTemplate<Strategy>& pos, const PositionAlgorithm<Strate
gy>& anchor) |
| 400 { | 400 { |
| 401 if (pos.isNull()) | 401 if (pos.isNull()) |
| 402 return pos; | 402 return pos; |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 544 else | 544 else |
| 545 fprintf(stderr, "Cannot showTree for (nil) VisiblePosition.\n"); | 545 fprintf(stderr, "Cannot showTree for (nil) VisiblePosition.\n"); |
| 546 } | 546 } |
| 547 | 547 |
| 548 void showTree(const blink::VisiblePosition& vpos) | 548 void showTree(const blink::VisiblePosition& vpos) |
| 549 { | 549 { |
| 550 vpos.showTreeForThis(); | 550 vpos.showTreeForThis(); |
| 551 } | 551 } |
| 552 | 552 |
| 553 #endif | 553 #endif |
| OLD | NEW |