| 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 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 652 } | 652 } |
| 653 | 653 |
| 654 // When not at a line wrap, make sure to end up with DOWNSTREAM affinity. | 654 // When not at a line wrap, make sure to end up with DOWNSTREAM affinity. |
| 655 if (!inSameLine(PositionWithAffinityTemplate<Strategy>(deepPosition, DOWNSTR
EAM), PositionWithAffinityTemplate<Strategy>(deepPosition, UPSTREAM))) | 655 if (!inSameLine(PositionWithAffinityTemplate<Strategy>(deepPosition, DOWNSTR
EAM), PositionWithAffinityTemplate<Strategy>(deepPosition, UPSTREAM))) |
| 656 return; | 656 return; |
| 657 m_affinity = DOWNSTREAM; | 657 m_affinity = DOWNSTREAM; |
| 658 } | 658 } |
| 659 | 659 |
| 660 UChar32 VisiblePosition::characterAfter() const | 660 UChar32 VisiblePosition::characterAfter() const |
| 661 { | 661 { |
| 662 // We canonicalize to the first of two equivalent candidates, but the second
of the two candidates | 662 // We canonicalize to the first of two equivalent candidates, but the second |
| 663 // is the one that will be inside the text node containing the character aft
er this visible position. | 663 // of the two candidates is the one that will be inside the text node |
| 664 // containing the character after this visible position. |
| 664 Position pos = m_deepPosition.downstream(); | 665 Position pos = m_deepPosition.downstream(); |
| 665 if (!pos.containerNode() || !pos.containerNode()->isTextNode() || !pos.isOff
setInAnchor()) | 666 if (!pos.isOffsetInAnchor()) |
| 667 return 0; |
| 668 Node* containerNode = pos.containerNode(); |
| 669 if (!containerNode || !containerNode->isTextNode()) |
| 666 return 0; | 670 return 0; |
| 667 unsigned offset = static_cast<unsigned>(pos.offsetInContainerNode()); | 671 unsigned offset = static_cast<unsigned>(pos.offsetInContainerNode()); |
| 668 Text* textNode = pos.containerText(); | 672 Text* textNode = toText(containerNode); |
| 669 unsigned length = textNode->length(); | 673 unsigned length = textNode->length(); |
| 670 if (offset >= length) | 674 if (offset >= length) |
| 671 return 0; | 675 return 0; |
| 672 | 676 |
| 673 return textNode->data().characterStartingAt(offset); | 677 return textNode->data().characterStartingAt(offset); |
| 674 } | 678 } |
| 675 | 679 |
| 676 LayoutRect VisiblePosition::localCaretRect(LayoutObject*& layoutObject) const | 680 LayoutRect VisiblePosition::localCaretRect(LayoutObject*& layoutObject) const |
| 677 { | 681 { |
| 678 PositionWithAffinity positionWithAffinity(m_deepPosition, m_affinity); | 682 PositionWithAffinity positionWithAffinity(m_deepPosition, m_affinity); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 761 else | 765 else |
| 762 fprintf(stderr, "Cannot showTree for (nil) VisiblePosition.\n"); | 766 fprintf(stderr, "Cannot showTree for (nil) VisiblePosition.\n"); |
| 763 } | 767 } |
| 764 | 768 |
| 765 void showTree(const blink::VisiblePosition& vpos) | 769 void showTree(const blink::VisiblePosition& vpos) |
| 766 { | 770 { |
| 767 vpos.showTreeForThis(); | 771 vpos.showTreeForThis(); |
| 768 } | 772 } |
| 769 | 773 |
| 770 #endif | 774 #endif |
| OLD | NEW |