diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-09-26 10:42:44 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-09-26 10:42:44 +0200 |
commit | 33b26980cb24288b5a9f2590ccf32a949281bb79 (patch) | |
tree | cc0203dac37338b24b0b25a4694c0b76d4e4164b /Source/WebKit/chromium/src/WebAccessibilityObject.cpp | |
parent | 715be629d51174233403237bfc563cf150087dc8 (diff) | |
download | qtwebkit-33b26980cb24288b5a9f2590ccf32a949281bb79.tar.gz |
Imported WebKit commit c596dd7f03007fa7ed896b928106497e8784b3b5 (http://svn.webkit.org/repository/webkit/trunk@129610)
New snapshot that removes QtQuick1 support (to be moved into QtQuick1 module)
Diffstat (limited to 'Source/WebKit/chromium/src/WebAccessibilityObject.cpp')
-rw-r--r-- | Source/WebKit/chromium/src/WebAccessibilityObject.cpp | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp index f559715d9..a3dd824cc 100644 --- a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp +++ b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp @@ -580,12 +580,44 @@ unsigned WebAccessibilityObject::selectionStart() const return m_private->selectedTextRange().start; } +unsigned WebAccessibilityObject::selectionEndLineNumber() const +{ + if (isDetached()) + return 0; + + VisiblePosition position = m_private->visiblePositionForIndex(selectionEnd()); + int lineNumber = m_private->lineForPosition(position); + if (lineNumber < 0) + return 0; + return lineNumber; +} + +unsigned WebAccessibilityObject::selectionStartLineNumber() const +{ + if (isDetached()) + return 0; + + VisiblePosition position = m_private->visiblePositionForIndex(selectionStart()); + int lineNumber = m_private->lineForPosition(position); + if (lineNumber < 0) + return 0; + return lineNumber; +} + void WebAccessibilityObject::setFocused(bool on) const { if (!isDetached()) m_private->setFocused(on); } +void WebAccessibilityObject::setSelectedTextRange(int selectionStart, int selectionEnd) const +{ + if (isDetached()) + return; + + m_private->setSelectedTextRange(PlainTextRange(selectionStart, selectionEnd - selectionStart)); +} + WebString WebAccessibilityObject::stringValue() const { if (isDetached()) @@ -731,21 +763,15 @@ bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const if (isDetached()) return false; - int textLength = m_private->textLength(); - if (!textLength) - return false; + Vector<int> lineBreaksVector; + m_private->lineBreaks(lineBreaksVector); - VisiblePosition pos = m_private->visiblePositionForIndex(textLength); - int lineBreakCount = m_private->lineForPosition(pos); - if (lineBreakCount <= 0) - return false; + size_t vectorSize = lineBreaksVector.size(); + WebVector<int> lineBreaksWebVector(vectorSize); + for (size_t i = 0; i< vectorSize; i++) + lineBreaksWebVector[i] = lineBreaksVector[i]; + result.swap(lineBreaksWebVector); - 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; } |