Changeset 88351 in webkit


Ignore:
Timestamp:
Jun 8, 2011 8:52:59 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-06-08 Dominic Mazzoni <dmazzoni@google.com>

Reviewed by Dimitri Glazkov.

Add a method to return the line breaks for any element with
multiline text content.
https://bugs.webkit.org/show_bug.cgi?id=62236

  • public/WebAccessibilityObject.h:
  • src/WebAccessibilityObject.cpp: (WebKit::WebAccessibilityObject::lineBreaks):
Location:
trunk/Source/WebKit/chromium
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r88345 r88351  
     12011-06-08  Dominic Mazzoni  <dmazzoni@google.com>
     2
     3        Reviewed by Dimitri Glazkov.
     4
     5        Add a method to return the line breaks for any element with
     6        multiline text content.
     7        https://bugs.webkit.org/show_bug.cgi?id=62236
     8
     9        * public/WebAccessibilityObject.h:
     10        * src/WebAccessibilityObject.cpp:
     11        (WebKit::WebAccessibilityObject::lineBreaks):
     12
    1132011-06-08  Ilya Tikhonovsky  <loislo@chromium.org>
    214
  • trunk/Source/WebKit/chromium/public/WebAccessibilityObject.h

    r80890 r88351  
    3434#include "WebAccessibilityRole.h"
    3535#include "WebCommon.h"
     36#include "WebVector.h"
    3637
    3738#if WEBKIT_IMPLEMENTATION
     
    120121    WEBKIT_API WebString computedStyleDisplay() const;
    121122    WEBKIT_API bool accessibilityIsIgnored() const;
     123    WEBKIT_API bool lineBreaks(WebVector<int>&) const;
    122124
    123125#if WEBKIT_IMPLEMENTATION
  • trunk/Source/WebKit/chromium/src/WebAccessibilityObject.cpp

    r86330 r88351  
    544544}
    545545
     546bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const
     547{
     548    m_private->updateBackingStore();
     549    int textLength = m_private->textLength();
     550    if (!textLength)
     551        return false;
     552
     553    VisiblePosition pos = m_private->visiblePositionForIndex(textLength);
     554    int lineBreakCount = m_private->lineForPosition(pos);
     555    if (!lineBreakCount)
     556        return false;
     557
     558    WebVector<int> lineBreaks(static_cast<size_t>(lineBreakCount));
     559    for (int i = 0; i < lineBreakCount; i++) {
     560        PlainTextRange range = m_private->doAXRangeForLine(i);
     561        lineBreaks[i] = range.start + range.length;
     562    }
     563    result.swap(lineBreaks);
     564    return true;
     565}
     566
    546567WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object)
    547568    : m_private(static_cast<WebAccessibilityObjectPrivate*>(object.releaseRef()))
Note: See TracChangeset for help on using the changeset viewer.