Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2122)

Unified Diff: Source/web/WebAccessibilityObject.cpp

Issue 23983002: Expose InlineTextBoxes in the accessibility tree. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address review feedback Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/web/WebAccessibilityObject.cpp
diff --git a/Source/web/WebAccessibilityObject.cpp b/Source/web/WebAccessibilityObject.cpp
index de046001b09f65403ff386efce7bf75f450eda2a..b4d382b1673e77e4b169d334237f44789bbb80b1 100644
--- a/Source/web/WebAccessibilityObject.cpp
+++ b/Source/web/WebAccessibilityObject.cpp
@@ -84,6 +84,12 @@ bool WebAccessibilityObject::accessibilityEnabled()
return AXObjectCache::accessibilityEnabled();
}
+// static
+void WebAccessibilityObject::enableInlineTextBoxAccessibility()
+{
+ AXObjectCache::setInlineTextBoxAccessibility(true);
+}
+
void WebAccessibilityObject::startCachingComputedObjectAttributesUntilTreeMutates()
{
m_private->axObjectCache()->startCachingComputedObjectAttributesUntilTreeMutates();
@@ -1001,6 +1007,42 @@ unsigned WebAccessibilityObject::cellRowSpan() const
return rowRange.second;
}
+void WebAccessibilityObject::characterOffsets(WebVector<int>& offsets) const
+{
+ if (isDetached())
+ return;
+
+ Vector<int> offsetsVector;
+ m_private->textCharacterOffsets(offsetsVector);
+
+ size_t vectorSize = offsetsVector.size();
+ WebVector<int> offsetsWebVector(vectorSize);
+ for (size_t i = 0; i < vectorSize; i++)
+ offsetsWebVector[i] = offsetsVector[i];
+ offsets.swap(offsetsWebVector);
+}
+
+void WebAccessibilityObject::wordBoundaries(WebVector<int>& starts, WebVector<int>& ends) const
+{
+ if (isDetached())
+ return;
+
+ Vector<int> startsVector;
+ Vector<int> endsVector;
+ m_private->wordBoundaries(startsVector, endsVector);
+
+ size_t vectorSize = startsVector.size();
+ ASSERT(endsVector.size() == vectorSize);
+ WebVector<int> startsWebVector(vectorSize);
+ WebVector<int> endsWebVector(vectorSize);
+ for (size_t i = 0; i < vectorSize; i++) {
+ startsWebVector[i] = startsVector[i];
+ endsWebVector[i] = endsVector[i];
+ }
+ starts.swap(startsWebVector);
+ ends.swap(endsWebVector);
+}
+
void WebAccessibilityObject::scrollToMakeVisible() const
{
if (!isDetached())

Powered by Google App Engine
This is Rietveld 408576698