Title: [247601] branches/safari-608-branch/Source/WebCore
Revision
247601
Author
kocsen_ch...@apple.com
Date
2019-07-18 13:24:21 -0700 (Thu, 18 Jul 2019)

Log Message

Cherry-pick r247519. rdar://problem/53229612

    Hang in WebCore::AccessibilityRenderObject::visiblePositionRangeForLine.
    https://bugs.webkit.org/show_bug.cgi?id=199845
    <rdar://problem/53121017>

    Patch by Andres Gonzalez <andresg...@apple.com> on 2019-07-17
    Reviewed by Chris Fleizach.

    - Added check for upper bound NSNotFound for parameter to visiblePositionRangeForLine.
    - Fixed signed/unsigned issue for AXTextMarkerRangeForLine attribute.

    * accessibility/AccessibilityRenderObject.cpp:
    (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const):
    * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
    (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247519 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (247600 => 247601)


--- branches/safari-608-branch/Source/WebCore/ChangeLog	2019-07-18 20:24:18 UTC (rev 247600)
+++ branches/safari-608-branch/Source/WebCore/ChangeLog	2019-07-18 20:24:21 UTC (rev 247601)
@@ -1,5 +1,42 @@
 2019-07-17  Kocsen Chung  <kocsen_ch...@apple.com>
 
+        Cherry-pick r247519. rdar://problem/53229612
+
+    Hang in WebCore::AccessibilityRenderObject::visiblePositionRangeForLine.
+    https://bugs.webkit.org/show_bug.cgi?id=199845
+    <rdar://problem/53121017>
+    
+    Patch by Andres Gonzalez <andresg...@apple.com> on 2019-07-17
+    Reviewed by Chris Fleizach.
+    
+    - Added check for upper bound NSNotFound for parameter to visiblePositionRangeForLine.
+    - Fixed signed/unsigned issue for AXTextMarkerRangeForLine attribute.
+    
+    * accessibility/AccessibilityRenderObject.cpp:
+    (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const):
+    * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+    (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-07-17  Andres Gonzalez  <andresg...@apple.com>
+
+            Hang in WebCore::AccessibilityRenderObject::visiblePositionRangeForLine.
+            https://bugs.webkit.org/show_bug.cgi?id=199845
+            <rdar://problem/53121017>
+
+            Reviewed by Chris Fleizach.
+
+            - Added check for upper bound NSNotFound for parameter to visiblePositionRangeForLine.
+            - Fixed signed/unsigned issue for AXTextMarkerRangeForLine attribute.
+
+            * accessibility/AccessibilityRenderObject.cpp:
+            (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const):
+            * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+            (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
+
+2019-07-17  Kocsen Chung  <kocsen_ch...@apple.com>
+
         Cherry-pick r247504. rdar://problem/53229614
 
     Fix includes and make a constructor explicit to avoid unified-sources-triggered test failures

Modified: branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (247600 => 247601)


--- branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2019-07-18 20:24:18 UTC (rev 247600)
+++ branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2019-07-18 20:24:21 UTC (rev 247601)
@@ -1978,7 +1978,9 @@
     while (--lineCount) {
         savedVisiblePos = visiblePos;
         visiblePos = nextLinePosition(visiblePos, 0);
-        if (visiblePos.isNull() || visiblePos == savedVisiblePos)
+        if (visiblePos.isNull()
+            || visiblePos == savedVisiblePos
+            || visiblePos.equals(savedVisiblePos))
             return VisiblePositionRange();
     }
     

Modified: branches/safari-608-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (247600 => 247601)


--- branches/safari-608-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2019-07-18 20:24:18 UTC (rev 247600)
+++ branches/safari-608-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2019-07-18 20:24:21 UTC (rev 247601)
@@ -4247,7 +4247,9 @@
     }
     
     if ([attribute isEqualToString:@"AXTextMarkerRangeForLine"]) {
-        VisiblePositionRange vpRange = m_object->visiblePositionRangeForLine([number intValue]);
+        VisiblePositionRange vpRange;
+        if ([number unsignedIntegerValue] != NSNotFound)
+            vpRange = m_object->visiblePositionRangeForLine([number unsignedIntValue]);
         return [self textMarkerRangeFromVisiblePositions:vpRange.start endPosition:vpRange.end];
     }
     
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to