Changeset 196167 in webkit
- Timestamp:
- Feb 5, 2016 12:53:51 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r196165 r196167 1 2016-02-05 Nan Wang <n_wang@apple.com> 2 3 AX: WebKit hanging when VoiceOver attempts to focus in on page 4 https://bugs.webkit.org/show_bug.cgi?id=153899 5 <rdar://problem/24506603> 6 7 Reviewed by Chris Fleizach. 8 9 * accessibility/text-marker/character-offset-visible-position-conversion-hang-expected.txt: Added. 10 * accessibility/text-marker/character-offset-visible-position-conversion-hang.html: Added. 11 1 12 2016-02-04 Joseph Pecoraro <pecoraro@apple.com> 2 13 -
trunk/Source/WebCore/ChangeLog
r196165 r196167 1 2016-02-05 Nan Wang <n_wang@apple.com> 2 3 AX: WebKit hanging when VoiceOver attempts to focus in on page 4 https://bugs.webkit.org/show_bug.cgi?id=153899 5 <rdar://problem/24506603> 6 7 Reviewed by Chris Fleizach. 8 9 The VisiblePosition to CharacterOffset conversion will lead to an infinite loop if the 10 nextVisiblePostion call is returning the original VisiblePosition. Fixed it by breaking out 11 of the loop early in that situation. 12 13 Test: accessibility/text-marker/character-offset-visible-position-conversion-hang.html 14 15 * accessibility/AXObjectCache.cpp: 16 (WebCore::AXObjectCache::characterOffsetFromVisiblePosition): 17 1 18 2016-02-04 Joseph Pecoraro <pecoraro@apple.com> 2 19 -
trunk/Source/WebCore/accessibility/AXObjectCache.cpp
r195949 r196167 1754 1754 Position vpDeepPos = vp.deepEquivalent(); 1755 1755 1756 VisiblePosition previousVisiblePos; 1756 1757 while (!vpDeepPos.isNull() && !deepPos.equals(vpDeepPos)) { 1758 previousVisiblePos = vp; 1757 1759 vp = obj->nextVisiblePosition(vp); 1758 1760 vpDeepPos = vp.deepEquivalent(); 1761 // Sometimes nextVisiblePosition will give the same VisiblePostion, 1762 // we break here to avoid infinite loop. 1763 if (vpDeepPos.equals(previousVisiblePos.deepEquivalent())) 1764 break; 1759 1765 characterOffset++; 1760 1766 }
Note: See TracChangeset
for help on using the changeset viewer.