Changeset 99770 in webkit


Ignore:
Timestamp:
Nov 9, 2011, 3:28:12 PM (14 years ago)
Author:
dmazzoni@google.com
Message:

Source/WebKit/chromium: Fix crash by handling case when AccessibilityObject::lineForPosition
returns -1.
https://bugs.webkit.org/show_bug.cgi?id=71561

Adds layout test: platform/chromium/accessibility/insertion-point-line-number-on-password-crashes.html

Reviewed by Dimitri Glazkov.

  • src/WebAccessibilityObject.cpp:

(WebKit::WebAccessibilityObject::lineBreaks):

Tools: [Chromium] Implement AccessibilityUIElement::insertionPointLineNumberGetterCallback
https://bugs.webkit.org/show_bug.cgi?id=71561

Reviewed by Dimitri Glazkov.

  • DumpRenderTree/chromium/AccessibilityUIElement.cpp:

(AccessibilityUIElement::insertionPointLineNumberGetterCallback):

LayoutTests: [Chromium] Add new test for crash in WebAccessibilityObject::lineBreaks
https://bugs.webkit.org/show_bug.cgi?id=71561

Reviewed by Dimitri Glazkov.

  • platform/chromium/accessibility/insertion-point-line-number-on-password-crashes-expected.txt: Added.
  • platform/chromium/accessibility/insertion-point-line-number-on-password-crashes.html: Added.
Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r99762 r99770  
     12011-11-09  Dominic Mazzoni  <dmazzoni@google.com>
     2
     3        [Chromium] Add new test for crash in WebAccessibilityObject::lineBreaks
     4        https://bugs.webkit.org/show_bug.cgi?id=71561
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        * platform/chromium/accessibility/insertion-point-line-number-on-password-crashes-expected.txt: Added.
     9        * platform/chromium/accessibility/insertion-point-line-number-on-password-crashes.html: Added.
     10
    1112011-11-09  Benjamin Poulain  <bpoulain@apple.com>
    212
  • trunk/Source/WebKit/chromium/ChangeLog

    r99766 r99770  
     12011-11-09  Dominic Mazzoni  <dmazzoni@google.com>
     2
     3        Fix crash by handling case when AccessibilityObject::lineForPosition
     4        returns -1.
     5        https://bugs.webkit.org/show_bug.cgi?id=71561
     6
     7        Adds layout test: platform/chromium/accessibility/insertion-point-line-number-on-password-crashes.html
     8
     9        Reviewed by Dimitri Glazkov.
     10
     11        * src/WebAccessibilityObject.cpp:
     12        (WebKit::WebAccessibilityObject::lineBreaks):
     13
    1142011-11-09  Jay Civelli  <jcivelli@chromium.org>
    215
  • trunk/Source/WebKit/chromium/src/WebAccessibilityObject.cpp

    r98837 r99770  
    772772    VisiblePosition pos = m_private->visiblePositionForIndex(textLength);
    773773    int lineBreakCount = m_private->lineForPosition(pos);
    774     if (!lineBreakCount)
     774    if (lineBreakCount <= 0)
    775775        return false;
    776776
  • trunk/Tools/ChangeLog

    r99762 r99770  
     12011-11-09  Dominic Mazzoni  <dmazzoni@google.com>
     2
     3        [Chromium] Implement AccessibilityUIElement::insertionPointLineNumberGetterCallback
     4        https://bugs.webkit.org/show_bug.cgi?id=71561
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        * DumpRenderTree/chromium/AccessibilityUIElement.cpp:
     9        (AccessibilityUIElement::insertionPointLineNumberGetterCallback):
     10
    1112011-11-09  Benjamin Poulain  <bpoulain@apple.com>
    212
  • trunk/Tools/DumpRenderTree/chromium/AccessibilityUIElement.cpp

    r97128 r99770  
    454454void AccessibilityUIElement::insertionPointLineNumberGetterCallback(CppVariant* result)
    455455{
    456     // FIXME: Implement this.
    457     result->set(0);
     456    WebVector<int> lineBreaks;
     457    accessibilityObject().lineBreaks(lineBreaks);
     458    int cursor = accessibilityObject().selectionEnd();
     459    int line = 0;
     460    while (line < static_cast<int>(lineBreaks.size()) && lineBreaks[line] <= cursor)
     461        line++;
     462    result->set(line);
    458463}
    459464
Note: See TracChangeset for help on using the changeset viewer.