| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 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 17 matching lines...) Expand all Loading... |
| 28 | 28 |
| 29 #include "core/dom/Range.h" | 29 #include "core/dom/Range.h" |
| 30 #include "core/editing/VisiblePosition.h" | 30 #include "core/editing/VisiblePosition.h" |
| 31 #include "core/editing/VisibleUnits.h" | 31 #include "core/editing/VisibleUnits.h" |
| 32 #include "core/editing/iterators/CharacterIterator.h" | 32 #include "core/editing/iterators/CharacterIterator.h" |
| 33 | 33 |
| 34 namespace blink { | 34 namespace blink { |
| 35 | 35 |
| 36 static EphemeralRange expandToParagraphBoundary(const EphemeralRange& range) | 36 static EphemeralRange expandToParagraphBoundary(const EphemeralRange& range) |
| 37 { | 37 { |
| 38 const VisiblePosition& start = createVisiblePosition(range.startPosition()); | 38 const VisiblePosition& start = createVisiblePositionDeprecated(range.startPo
sition()); |
| 39 DCHECK(start.isNotNull()) << range.startPosition(); | 39 DCHECK(start.isNotNull()) << range.startPosition(); |
| 40 const Position& paragraphStart = startOfParagraph(start).deepEquivalent(); | 40 const Position& paragraphStart = startOfParagraph(start).deepEquivalent(); |
| 41 DCHECK(paragraphStart.isNotNull()) << range.startPosition(); | 41 DCHECK(paragraphStart.isNotNull()) << range.startPosition(); |
| 42 | 42 |
| 43 const VisiblePosition& end = createVisiblePosition(range.endPosition()); | 43 const VisiblePosition& end = createVisiblePositionDeprecated(range.endPositi
on()); |
| 44 DCHECK(end.isNotNull()) << range.endPosition(); | 44 DCHECK(end.isNotNull()) << range.endPosition(); |
| 45 const Position& paragraphEnd = endOfParagraph(end).deepEquivalent(); | 45 const Position& paragraphEnd = endOfParagraph(end).deepEquivalent(); |
| 46 DCHECK(paragraphEnd.isNotNull()) << range.endPosition(); | 46 DCHECK(paragraphEnd.isNotNull()) << range.endPosition(); |
| 47 | 47 |
| 48 // TODO(xiaochengh): There are some cases (crbug.com/640112) where we get | 48 // TODO(xiaochengh): There are some cases (crbug.com/640112) where we get |
| 49 // |paragraphStart > paragraphEnd|, which is the reason we cannot directly | 49 // |paragraphStart > paragraphEnd|, which is the reason we cannot directly |
| 50 // return |EphemeralRange(paragraphStart, paragraphEnd)|. This is not | 50 // return |EphemeralRange(paragraphStart, paragraphEnd)|. This is not |
| 51 // desired, though. We should do more investigation to ensure that why | 51 // desired, though. We should do more investigation to ensure that why |
| 52 // |paragraphStart <= paragraphEnd| is violated. | 52 // |paragraphStart <= paragraphEnd| is violated. |
| 53 const Position& resultStart = paragraphStart.isNotNull() && paragraphStart <
= range.startPosition() ? paragraphStart : range.startPosition(); | 53 const Position& resultStart = paragraphStart.isNotNull() && paragraphStart <
= range.startPosition() ? paragraphStart : range.startPosition(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 81 { | 81 { |
| 82 } | 82 } |
| 83 | 83 |
| 84 TextCheckingParagraph::~TextCheckingParagraph() | 84 TextCheckingParagraph::~TextCheckingParagraph() |
| 85 { | 85 { |
| 86 } | 86 } |
| 87 | 87 |
| 88 void TextCheckingParagraph::expandRangeToNextEnd() | 88 void TextCheckingParagraph::expandRangeToNextEnd() |
| 89 { | 89 { |
| 90 DCHECK(m_checkingRange.isNotNull()); | 90 DCHECK(m_checkingRange.isNotNull()); |
| 91 setParagraphRange(EphemeralRange(paragraphRange().startPosition(), endOfPara
graph(startOfNextParagraph(createVisiblePosition(paragraphRange().startPosition(
)))).deepEquivalent())); | 91 setParagraphRange(EphemeralRange(paragraphRange().startPosition(), endOfPara
graph(startOfNextParagraph(createVisiblePositionDeprecated(paragraphRange().star
tPosition()))).deepEquivalent())); |
| 92 invalidateParagraphRangeValues(); | 92 invalidateParagraphRangeValues(); |
| 93 } | 93 } |
| 94 | 94 |
| 95 void TextCheckingParagraph::invalidateParagraphRangeValues() | 95 void TextCheckingParagraph::invalidateParagraphRangeValues() |
| 96 { | 96 { |
| 97 m_checkingStart = m_checkingEnd = -1; | 97 m_checkingStart = m_checkingEnd = -1; |
| 98 m_offsetAsRange = EphemeralRange(); | 98 m_offsetAsRange = EphemeralRange(); |
| 99 m_text = String(); | 99 m_text = String(); |
| 100 } | 100 } |
| 101 | 101 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 | 179 |
| 180 int TextCheckingParagraph::checkingLength() const | 180 int TextCheckingParagraph::checkingLength() const |
| 181 { | 181 { |
| 182 DCHECK(m_checkingRange.isNotNull()); | 182 DCHECK(m_checkingRange.isNotNull()); |
| 183 if (-1 == m_checkingLength) | 183 if (-1 == m_checkingLength) |
| 184 m_checkingLength = TextIterator::rangeLength(checkingRange().startPositi
on(), checkingRange().endPosition()); | 184 m_checkingLength = TextIterator::rangeLength(checkingRange().startPositi
on(), checkingRange().endPosition()); |
| 185 return m_checkingLength; | 185 return m_checkingLength; |
| 186 } | 186 } |
| 187 | 187 |
| 188 } // namespace blink | 188 } // namespace blink |
| OLD | NEW |