Index: third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp |
diff --git a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp |
index d88be1191e520dda01cbcee7452198e8abd6a236..08e82a25cefd94ae63d1d39071bd80e47a93a837 100644 |
--- a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp |
+++ b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp |
@@ -2165,6 +2165,10 @@ void AXLayoutObject::lineBreaks(Vector<int>& lineBreaks) const |
lineBreaks.append(indexForVisiblePosition(visiblePos)); |
prevVisiblePos = visiblePos; |
visiblePos = nextLinePosition(visiblePos, 0, HasEditableAXRole); |
+ |
+ // Make sure we always make forward progress. |
+ if (visiblePos.deepEquivalent().compareTo(prevVisiblePos.deepEquivalent()) < 0) |
+ break; |
} |
} |