Title: [88351] trunk/Source/WebKit/chromium
Revision
88351
Author
commit-qu...@webkit.org
Date
2011-06-08 08:52:59 -0700 (Wed, 08 Jun 2011)

Log Message

2011-06-08  Dominic Mazzoni  <dmazz...@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):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (88350 => 88351)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-06-08 15:28:27 UTC (rev 88350)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-06-08 15:52:59 UTC (rev 88351)
@@ -1,3 +1,15 @@
+2011-06-08  Dominic Mazzoni  <dmazz...@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):
+
 2011-06-08  Ilya Tikhonovsky  <loi...@chromium.org>
 
         Unreviewed chromium build fix for r88332.

Modified: trunk/Source/WebKit/chromium/public/WebAccessibilityObject.h (88350 => 88351)


--- trunk/Source/WebKit/chromium/public/WebAccessibilityObject.h	2011-06-08 15:28:27 UTC (rev 88350)
+++ trunk/Source/WebKit/chromium/public/WebAccessibilityObject.h	2011-06-08 15:52:59 UTC (rev 88351)
@@ -33,6 +33,7 @@
 
 #include "WebAccessibilityRole.h"
 #include "WebCommon.h"
+#include "WebVector.h"
 
 #if WEBKIT_IMPLEMENTATION
 namespace WebCore { class AccessibilityObject; }
@@ -119,6 +120,7 @@
     WEBKIT_API bool hasComputedStyle() const;
     WEBKIT_API WebString computedStyleDisplay() const;
     WEBKIT_API bool accessibilityIsIgnored() const;
+    WEBKIT_API bool lineBreaks(WebVector<int>&) const;
 
 #if WEBKIT_IMPLEMENTATION
     WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>&);

Modified: trunk/Source/WebKit/chromium/src/WebAccessibilityObject.cpp (88350 => 88351)


--- trunk/Source/WebKit/chromium/src/WebAccessibilityObject.cpp	2011-06-08 15:28:27 UTC (rev 88350)
+++ trunk/Source/WebKit/chromium/src/WebAccessibilityObject.cpp	2011-06-08 15:52:59 UTC (rev 88351)
@@ -543,6 +543,27 @@
     return m_private->accessibilityIsIgnored();
 }
 
+bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const
+{
+    m_private->updateBackingStore();
+    int textLength = m_private->textLength();
+    if (!textLength)
+        return false;
+
+    VisiblePosition pos = m_private->visiblePositionForIndex(textLength);
+    int lineBreakCount = m_private->lineForPosition(pos);
+    if (!lineBreakCount)
+        return false;
+
+    WebVector<int> lineBreaks(static_cast<size_t>(lineBreakCount));
+    for (int i = 0; i < lineBreakCount; i++) {
+        PlainTextRange range = m_private->doAXRangeForLine(i);
+        lineBreaks[i] = range.start + range.length;
+    }
+    result.swap(lineBreaks);
+    return true;
+}
+
 WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object)
     : m_private(static_cast<WebAccessibilityObjectPrivate*>(object.releaseRef()))
 {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to