Skip to content
  • harrison's avatar
    Reviewed by Dave Hyatt. · fb1a91a8
    harrison authored
            <rdar://problem/4244976> reproducible hang at ocharleys.com in VisiblePosition::initDownstream
    
            Problem is that RenderText::nextOffset() passes an empty string the UBreakIterator, which returns
            UBRK_DONE (-1) from ubrk_following, and that -1 is used without question as return result of
            nextOffset().  Fixed by checking for UBRK_DONE and returning offset+1 in that case.  Similar
            change in RenderText::previousOffset().
    
            Test cases added:
            * layout-tests/editing/selection/extend-by-word-002-expected.checksum: Added.
            * layout-tests/editing/selection/extend-by-word-002-expected.png: Added.
            * layout-tests/editing/selection/extend-by-word-002-expected.txt: Added.
            * layout-tests/editing/selection/extend-by-word-002.html: Added.
    
            * khtml/rendering/render_block.cpp:
            (khtml::RenderBlock::updateFirstLetter):
            Added comments.  Slight format adjustments.
    
            * khtml/rendering/render_text.cpp:
            (getCharacterBreakIterator):
            Slight format adjustment.
    
            (RenderText::previousOffset):
            (RenderText::nextOffset):
            Check for UBRK_DONE.
    
            (RenderTextFragment::RenderTextFragment)
            (RenderTextFragment::RenderTextFragment)
            Fixed parameter names.
    
            (m_generatedContentStr):
            * khtml/rendering/render_text.h:
            Fixed parameter names in the two RenderTextFragment constructors.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    fb1a91a8