| Index: components/test_runner/web_ax_object_proxy.cc
|
| diff --git a/components/test_runner/web_ax_object_proxy.cc b/components/test_runner/web_ax_object_proxy.cc
|
| index 4ed30f2c44ff2f737e8eacd565882a5ad4a9af0c..e66fa98ab66d8e731e4968eb841e5d6c35a20cd1 100644
|
| --- a/components/test_runner/web_ax_object_proxy.cc
|
| +++ b/components/test_runner/web_ax_object_proxy.cc
|
| @@ -492,6 +492,14 @@ WebAXObjectProxy::GetObjectTemplateBuilder(v8::Isolate* isolate) {
|
| .SetProperty("maxValue", &WebAXObjectProxy::MaxValue)
|
| .SetProperty("valueDescription", &WebAXObjectProxy::ValueDescription)
|
| .SetProperty("childrenCount", &WebAXObjectProxy::ChildrenCount)
|
| + .SetProperty("selectionAnchorObject",
|
| + &WebAXObjectProxy::SelectionAnchorObject)
|
| + .SetProperty("selectionAnchorOffset",
|
| + &WebAXObjectProxy::SelectionAnchorOffset)
|
| + .SetProperty("selectionFocusObject",
|
| + &WebAXObjectProxy::SelectionFocusObject)
|
| + .SetProperty("selectionFocusOffset",
|
| + &WebAXObjectProxy::SelectionFocusOffset)
|
| .SetProperty("selectionStart", &WebAXObjectProxy::SelectionStart)
|
| .SetProperty("selectionEnd", &WebAXObjectProxy::SelectionEnd)
|
| .SetProperty("selectionStartLineNumber",
|
| @@ -733,6 +741,66 @@ int WebAXObjectProxy::ChildrenCount() {
|
| return count;
|
| }
|
|
|
| +v8::Local<v8::Object> WebAXObjectProxy::SelectionAnchorObject() {
|
| + accessibility_object_.updateLayoutAndCheckValidity();
|
| +
|
| + blink::WebAXObject anchorObject;
|
| + int anchorOffset = -1;
|
| + blink::WebAXObject focusObject;
|
| + int focusOffset = -1;
|
| + accessibility_object_.selection(anchorObject, anchorOffset,
|
| + focusObject, focusOffset);
|
| + if (anchorObject.isNull())
|
| + return v8::Local<v8::Object>();
|
| +
|
| + return factory_->GetOrCreate(anchorObject);
|
| +}
|
| +
|
| +int WebAXObjectProxy::SelectionAnchorOffset() {
|
| + accessibility_object_.updateLayoutAndCheckValidity();
|
| +
|
| + blink::WebAXObject anchorObject;
|
| + int anchorOffset = -1;
|
| + blink::WebAXObject focusObject;
|
| + int focusOffset = -1;
|
| + accessibility_object_.selection(anchorObject, anchorOffset,
|
| + focusObject, focusOffset);
|
| + if (anchorOffset < 0)
|
| + return -1;
|
| +
|
| + return anchorOffset;
|
| +}
|
| +
|
| +v8::Local<v8::Object> WebAXObjectProxy::SelectionFocusObject() {
|
| + accessibility_object_.updateLayoutAndCheckValidity();
|
| +
|
| + blink::WebAXObject anchorObject;
|
| + int anchorOffset = -1;
|
| + blink::WebAXObject focusObject;
|
| + int focusOffset = -1;
|
| + accessibility_object_.selection(anchorObject, anchorOffset,
|
| + focusObject, focusOffset);
|
| + if (focusObject.isNull())
|
| + return v8::Local<v8::Object>();
|
| +
|
| + return factory_->GetOrCreate(focusObject);
|
| +}
|
| +
|
| +int WebAXObjectProxy::SelectionFocusOffset() {
|
| + accessibility_object_.updateLayoutAndCheckValidity();
|
| +
|
| + blink::WebAXObject anchorObject;
|
| + int anchorOffset = -1;
|
| + blink::WebAXObject focusObject;
|
| + int focusOffset = -1;
|
| + accessibility_object_.selection(anchorObject, anchorOffset,
|
| + focusObject, focusOffset);
|
| + if (focusOffset < 0)
|
| + return -1;
|
| +
|
| + return focusOffset;
|
| +}
|
| +
|
| int WebAXObjectProxy::SelectionStart() {
|
| accessibility_object_.updateLayoutAndCheckValidity();
|
| return accessibility_object_.selectionStart();
|
|
|