int TextCheckingParagraph::checkingStart() const
{
    ASSERT(m_checkingRange.isNotNull());
    if (m_checkingStart == -1)
        m_checkingStart = TextIterator::rangeLength(offsetAsRange().startPosition(), offsetAsRange().endPosition());
    return m_checkingStart;
}
Example #2
0
int TextCheckingParagraph::checkingStart() const
{
    ASSERT(m_checkingRange);
    if (m_checkingStart == -1)
        m_checkingStart = TextIterator::rangeLength(offsetAsRange().get());
    return m_checkingStart;
}
Example #3
0
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());
}
Example #5
0
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);
}