int TextCheckingParagraph::checkingStart() const { ASSERT(m_checkingRange.isNotNull()); if (m_checkingStart == -1) m_checkingStart = TextIterator::rangeLength(offsetAsRange().startPosition(), offsetAsRange().endPosition()); return m_checkingStart; }
int TextCheckingParagraph::checkingStart() const { ASSERT(m_checkingRange); if (m_checkingStart == -1) m_checkingStart = TextIterator::rangeLength(offsetAsRange().get()); return m_checkingStart; }
int TextCheckingParagraph::offsetTo(const Position& position, ExceptionCode& ec) const { ASSERT(m_checkingRange); RefPtr<Range> range = offsetAsRange()->cloneRange(ASSERT_NO_EXCEPTION); range->setEnd(position.containerNode(), position.computeOffsetInContainerNode(), ec); if (ec) return 0; return TextIterator::rangeLength(range.get()); }
int TextCheckingParagraph::offsetTo(const Position& position, ExceptionState& exceptionState) const { ASSERT(m_checkingRange); RefPtrWillBeRawPtr<Range> range = offsetAsRange()->cloneRange(); range->setEnd(position.containerNode(), position.computeOffsetInContainerNode(), exceptionState); if (exceptionState.hadException()) return 0; return TextIterator::rangeLength(range->startPosition(), range->endPosition()); }
int TextCheckingParagraph::offsetTo(const Position& position, ExceptionCode& ec) const { ASSERT(m_checkingRange); if (!position.containerNode()) { ec = TypeError; return 0; } Ref<Range> range = offsetAsRange()->cloneRange(); range->setEnd(*position.containerNode(), position.computeOffsetInContainerNode(), ec); if (ec) return 0; return TextIterator::rangeLength(range.ptr()); }
int TextCheckingParagraph::offsetTo(const Position& position) const { ASSERT(m_checkingRange.isNotNull()); return TextIterator::rangeLength(offsetAsRange().startPosition(), position); }