OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
661 // The difference between modifyExtendingRight and modifyExtendingForward is
: | 661 // The difference between modifyExtendingRight and modifyExtendingForward is
: |
662 // modifyExtendingForward always extends forward logically. | 662 // modifyExtendingForward always extends forward logically. |
663 // modifyExtendingRight behaves the same as modifyExtendingForward except fo
r extending character or word, | 663 // modifyExtendingRight behaves the same as modifyExtendingForward except fo
r extending character or word, |
664 // it extends forward logically if the enclosing block is LTR direction, | 664 // it extends forward logically if the enclosing block is LTR direction, |
665 // but it extends backward logically if the enclosing block is RTL direction
. | 665 // but it extends backward logically if the enclosing block is RTL direction
. |
666 switch (granularity) { | 666 switch (granularity) { |
667 case CharacterGranularity: | 667 case CharacterGranularity: |
668 if (directionOfEnclosingBlock() == LTR) | 668 if (directionOfEnclosingBlock() == LTR) |
669 pos = pos.next(CanSkipOverEditingBoundary); | 669 pos = pos.next(CanSkipOverEditingBoundary); |
670 else | 670 else |
671 pos = pos.previous(CanSkipOverEditingBoundary); | 671 pos = previousPositionOf(pos, CanSkipOverEditingBoundary); |
672 break; | 672 break; |
673 case WordGranularity: | 673 case WordGranularity: |
674 if (directionOfEnclosingBlock() == LTR) | 674 if (directionOfEnclosingBlock() == LTR) |
675 pos = nextWordPositionForPlatform(pos); | 675 pos = nextWordPositionForPlatform(pos); |
676 else | 676 else |
677 pos = previousWordPosition(pos); | 677 pos = previousWordPosition(pos); |
678 break; | 678 break; |
679 case LineBoundary: | 679 case LineBoundary: |
680 if (directionOfEnclosingBlock() == LTR) | 680 if (directionOfEnclosingBlock() == LTR) |
681 pos = modifyExtendingForward(granularity); | 681 pos = modifyExtendingForward(granularity); |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
824 VisiblePosition pos(m_selection.extent(), m_selection.affinity()); | 824 VisiblePosition pos(m_selection.extent(), m_selection.affinity()); |
825 | 825 |
826 // The difference between modifyExtendingLeft and modifyExtendingBackward is
: | 826 // The difference between modifyExtendingLeft and modifyExtendingBackward is
: |
827 // modifyExtendingBackward always extends backward logically. | 827 // modifyExtendingBackward always extends backward logically. |
828 // modifyExtendingLeft behaves the same as modifyExtendingBackward except fo
r extending character or word, | 828 // modifyExtendingLeft behaves the same as modifyExtendingBackward except fo
r extending character or word, |
829 // it extends backward logically if the enclosing block is LTR direction, | 829 // it extends backward logically if the enclosing block is LTR direction, |
830 // but it extends forward logically if the enclosing block is RTL direction. | 830 // but it extends forward logically if the enclosing block is RTL direction. |
831 switch (granularity) { | 831 switch (granularity) { |
832 case CharacterGranularity: | 832 case CharacterGranularity: |
833 if (directionOfEnclosingBlock() == LTR) | 833 if (directionOfEnclosingBlock() == LTR) |
834 pos = pos.previous(CanSkipOverEditingBoundary); | 834 pos = previousPositionOf(pos, CanSkipOverEditingBoundary); |
835 else | 835 else |
836 pos = pos.next(CanSkipOverEditingBoundary); | 836 pos = pos.next(CanSkipOverEditingBoundary); |
837 break; | 837 break; |
838 case WordGranularity: | 838 case WordGranularity: |
839 if (directionOfEnclosingBlock() == LTR) | 839 if (directionOfEnclosingBlock() == LTR) |
840 pos = previousWordPosition(pos); | 840 pos = previousWordPosition(pos); |
841 else | 841 else |
842 pos = nextWordPositionForPlatform(pos); | 842 pos = nextWordPositionForPlatform(pos); |
843 break; | 843 break; |
844 case LineBoundary: | 844 case LineBoundary: |
(...skipping 18 matching lines...) Expand all Loading... |
863 VisiblePosition FrameSelection::modifyExtendingBackward(TextGranularity granular
ity) | 863 VisiblePosition FrameSelection::modifyExtendingBackward(TextGranularity granular
ity) |
864 { | 864 { |
865 VisiblePosition pos(m_selection.extent(), m_selection.affinity()); | 865 VisiblePosition pos(m_selection.extent(), m_selection.affinity()); |
866 | 866 |
867 // Extending a selection backward by word or character from just after a tab
le selects | 867 // Extending a selection backward by word or character from just after a tab
le selects |
868 // the table. This "makes sense" from the user perspective, esp. when delet
ing. | 868 // the table. This "makes sense" from the user perspective, esp. when delet
ing. |
869 // It was done here instead of in VisiblePosition because we want VPs to ite
rate | 869 // It was done here instead of in VisiblePosition because we want VPs to ite
rate |
870 // over everything. | 870 // over everything. |
871 switch (granularity) { | 871 switch (granularity) { |
872 case CharacterGranularity: | 872 case CharacterGranularity: |
873 pos = pos.previous(CanSkipOverEditingBoundary); | 873 pos = previousPositionOf(pos, CanSkipOverEditingBoundary); |
874 break; | 874 break; |
875 case WordGranularity: | 875 case WordGranularity: |
876 pos = previousWordPosition(pos); | 876 pos = previousWordPosition(pos); |
877 break; | 877 break; |
878 case SentenceGranularity: | 878 case SentenceGranularity: |
879 pos = previousSentencePosition(pos); | 879 pos = previousSentencePosition(pos); |
880 break; | 880 break; |
881 case LineGranularity: | 881 case LineGranularity: |
882 pos = previousLinePosition(pos, lineDirectionPointForBlockDirectionNavig
ation(EXTENT)); | 882 pos = previousLinePosition(pos, lineDirectionPointForBlockDirectionNavig
ation(EXTENT)); |
883 break; | 883 break; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
941 } | 941 } |
942 | 942 |
943 VisiblePosition FrameSelection::modifyMovingBackward(TextGranularity granularity
) | 943 VisiblePosition FrameSelection::modifyMovingBackward(TextGranularity granularity
) |
944 { | 944 { |
945 VisiblePosition pos; | 945 VisiblePosition pos; |
946 switch (granularity) { | 946 switch (granularity) { |
947 case CharacterGranularity: | 947 case CharacterGranularity: |
948 if (isRange()) | 948 if (isRange()) |
949 pos = VisiblePosition(m_selection.start(), m_selection.affinity()); | 949 pos = VisiblePosition(m_selection.start(), m_selection.affinity()); |
950 else | 950 else |
951 pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).
previous(CanSkipOverEditingBoundary); | 951 pos = previousPositionOf(VisiblePosition(m_selection.extent(), m_sel
ection.affinity()), CanSkipOverEditingBoundary); |
952 break; | 952 break; |
953 case WordGranularity: | 953 case WordGranularity: |
954 pos = previousWordPosition(VisiblePosition(m_selection.extent(), m_selec
tion.affinity())); | 954 pos = previousWordPosition(VisiblePosition(m_selection.extent(), m_selec
tion.affinity())); |
955 break; | 955 break; |
956 case SentenceGranularity: | 956 case SentenceGranularity: |
957 pos = previousSentencePosition(VisiblePosition(m_selection.extent(), m_s
election.affinity())); | 957 pos = previousSentencePosition(VisiblePosition(m_selection.extent(), m_s
election.affinity())); |
958 break; | 958 break; |
959 case LineGranularity: | 959 case LineGranularity: |
960 pos = previousLinePosition(startForPlatform(), lineDirectionPointForBloc
kDirectionNavigation(START)); | 960 pos = previousLinePosition(startForPlatform(), lineDirectionPointForBloc
kDirectionNavigation(START)); |
961 break; | 961 break; |
(...skipping 1107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2069 | 2069 |
2070 void showTree(const blink::FrameSelection* sel) | 2070 void showTree(const blink::FrameSelection* sel) |
2071 { | 2071 { |
2072 if (sel) | 2072 if (sel) |
2073 sel->showTreeForThis(); | 2073 sel->showTreeForThis(); |
2074 else | 2074 else |
2075 fprintf(stderr, "Cannot showTree for (nil) FrameSelection.\n"); | 2075 fprintf(stderr, "Cannot showTree for (nil) FrameSelection.\n"); |
2076 } | 2076 } |
2077 | 2077 |
2078 #endif | 2078 #endif |
OLD | NEW |