-
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
fb1a91a8harrison 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
Loading