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 * | 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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 #include "core/layout/line/InlineIterator.h" | 56 #include "core/layout/line/InlineIterator.h" |
57 #include "core/layout/line/InlineTextBox.h" | 57 #include "core/layout/line/InlineTextBox.h" |
58 #include "core/paint/DeprecatedPaintLayer.h" | 58 #include "core/paint/DeprecatedPaintLayer.h" |
59 #include "platform/Logging.h" | 59 #include "platform/Logging.h" |
60 #include "platform/RuntimeEnabledFeatures.h" | 60 #include "platform/RuntimeEnabledFeatures.h" |
61 #include "platform/heap/Handle.h" | 61 #include "platform/heap/Handle.h" |
62 #include "platform/text/TextBoundaries.h" | 62 #include "platform/text/TextBoundaries.h" |
63 | 63 |
64 namespace blink { | 64 namespace blink { |
65 | 65 |
66 using namespace HTMLNames; | |
67 using namespace WTF::Unicode; | |
68 | |
69 template <typename PositionType> | 66 template <typename PositionType> |
70 static PositionType canonicalizeCandidate(const PositionType& candidate) | 67 static PositionType canonicalizeCandidate(const PositionType& candidate) |
71 { | 68 { |
72 if (candidate.isNull()) | 69 if (candidate.isNull()) |
73 return PositionType(); | 70 return PositionType(); |
74 ASSERT(isVisuallyEquivalentCandidate(candidate)); | 71 ASSERT(isVisuallyEquivalentCandidate(candidate)); |
75 PositionType upstream = mostBackwardCaretPosition(candidate); | 72 PositionType upstream = mostBackwardCaretPosition(candidate); |
76 if (isVisuallyEquivalentCandidate(upstream)) | 73 if (isVisuallyEquivalentCandidate(upstream)) |
77 return upstream; | 74 return upstream; |
78 return candidate; | 75 return candidate; |
(...skipping 2889 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2968 return honorEditingBoundaryAtOrBefore(prev, visiblePosition.deepEquivale
nt()); | 2965 return honorEditingBoundaryAtOrBefore(prev, visiblePosition.deepEquivale
nt()); |
2969 case CanSkipOverEditingBoundary: | 2966 case CanSkipOverEditingBoundary: |
2970 return skipToStartOfEditingBoundary(prev, visiblePosition.deepEquivalent
()); | 2967 return skipToStartOfEditingBoundary(prev, visiblePosition.deepEquivalent
()); |
2971 } | 2968 } |
2972 | 2969 |
2973 ASSERT_NOT_REACHED(); | 2970 ASSERT_NOT_REACHED(); |
2974 return honorEditingBoundaryAtOrBefore(prev, visiblePosition.deepEquivalent()
); | 2971 return honorEditingBoundaryAtOrBefore(prev, visiblePosition.deepEquivalent()
); |
2975 } | 2972 } |
2976 | 2973 |
2977 } // namespace blink | 2974 } // namespace blink |
OLD | NEW |