Chromium Code Reviews| 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..c22cdc31f31e781b34791f95ec63252664313947 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 = nullptr; |
|
dmazzoni
2015/06/22 19:23:21
Typo: WebAxObject -> WebAXObject
|
| + int anchorOffset = -1; |
| + blink::WebAxObject* focusObject = nullptr; |
| + int focusOffset = -1; |
| + accessibility_object_.selection(anchorObject, &anchorOffset, |
| + focusObject, &focusOffset); |
| + if (anchorObject) |
| + return factory_->GetOrCreate(anchorObject); |
| + |
| + return v8::Local<v8::Object>(); |
| +} |
| + |
| +int WebAXObjectProxy::SelectionAnchorOffset() { |
| + accessibility_object_.updateLayoutAndCheckValidity(); |
| + |
| + blink::WebAxObject* anchorObject = nullptr; |
| + int anchorOffset = -1; |
| + blink::WebAxObject* focusObject = nullptr; |
| + int focusOffset = -1; |
| + accessibility_object_.selection(anchorObject, &anchorOffset, |
| + focusObject, &focusOffset); |
| + if (anchorOffset >= 0) |
| + return anchorOffset; |
| + |
| + return -1; |
| +} |
| + |
| +v8::Local<v8::Object> WebAXObjectProxy::SelectionFocusObject() { |
| + accessibility_object_.updateLayoutAndCheckValidity(); |
| + |
| + blink::WebAxObject* anchorObject = nullptr; |
| + int anchorOffset = -1; |
| + blink::WebAxObject* focusObject = nullptr; |
| + int focusOffset = -1; |
| + accessibility_object_.selection(anchorObject, &anchorOffset, |
| + focusObject, &focusOffset); |
| + if (focusObject) |
| + return factory_->GetOrCreate(focusObject); |
| + |
| + return v8::Local<v8::Object>(); |
| +} |
| + |
| +int WebAXObjectProxy::SelectionFocusOffset() { |
| + accessibility_object_.updateLayoutAndCheckValidity(); |
| + |
| + blink::WebAxObject* anchorObject = nullptr; |
| + int anchorOffset = -1; |
| + blink::WebAxObject* focusObject = nullptr; |
| + int focusOffset = -1; |
| + accessibility_object_.selection(anchorObject, &anchorOffset, |
| + focusObject, &focusOffset); |
| + if (focusOffset >= 0) |
| + return focusOffset; |
| + |
| + return -1; |
| +} |
| + |
| int WebAXObjectProxy::SelectionStart() { |
| accessibility_object_.updateLayoutAndCheckValidity(); |
| return accessibility_object_.selectionStart(); |