Chromium Code Reviews| Index: content/shell/renderer/test_runner/web_ax_object_proxy.cc |
| diff --git a/content/shell/renderer/test_runner/web_ax_object_proxy.cc b/content/shell/renderer/test_runner/web_ax_object_proxy.cc |
| index ec01d82bb5fef41a2482cce82c1c62f95b008115..de77571dd185d24cadc3bad5b95222d6be3d122b 100644 |
| --- a/content/shell/renderer/test_runner/web_ax_object_proxy.cc |
| +++ b/content/shell/renderer/test_runner/web_ax_object_proxy.cc |
| @@ -513,6 +513,12 @@ WebAXObjectProxy::GetObjectTemplateBuilder(v8::Isolate* isolate) { |
| .SetMethod("allAttributes", &WebAXObjectProxy::AllAttributes) |
| .SetMethod("attributesOfChildren", |
| &WebAXObjectProxy::AttributesOfChildren) |
| + .SetMethod("ariaControlsElementAtIndex", |
| + &WebAXObjectProxy::AriaControlsElementAtIndex) |
| + .SetMethod("ariaFlowToElementAtIndex", |
| + &WebAXObjectProxy::AriaFlowToElementAtIndex) |
| + .SetMethod("ariaOwnsElementAtIndex", |
| + &WebAXObjectProxy::AriaOwnsElementAtIndex) |
| .SetMethod("lineForIndex", &WebAXObjectProxy::LineForIndex) |
| .SetMethod("boundsForRange", &WebAXObjectProxy::BoundsForRange) |
| .SetMethod("childAtIndex", &WebAXObjectProxy::ChildAtIndex) |
| @@ -814,6 +820,44 @@ bool WebAXObjectProxy::IsButtonStateMixed() { |
| return accessibility_object_.isButtonStateMixed(); |
| } |
| +v8::Handle<v8::Object> WebAXObjectProxy::AriaControlsElementAtIndex( |
| + unsigned index) |
| +{ |
| + accessibility_object_.updateLayoutAndCheckValidity(); |
| + blink::WebVector<blink::WebAXObject> elements; |
| + accessibility_object_.ariaControls(elements); |
| + size_t elementCount = elements.size(); |
| + if (index >= elementCount) |
| + return v8::Handle<v8::Object>(); |
|
dmazzoni
2015/01/05 09:12:54
nit: wrong indentation here
|
| + |
| + return factory_->GetOrCreate(elements[index]); |
| +} |
| + |
| +v8::Handle<v8::Object> WebAXObjectProxy::AriaFlowToElementAtIndex( |
| + unsigned index) |
| +{ |
| + accessibility_object_.updateLayoutAndCheckValidity(); |
|
dmazzoni
2015/01/05 09:12:53
nit: wrong indentation, should be 2 spaces in
|
| + blink::WebVector<blink::WebAXObject> elements; |
| + accessibility_object_.ariaFlowTo(elements); |
| + size_t elementCount = elements.size(); |
| + if (index >= elementCount) |
| + return v8::Handle<v8::Object>(); |
|
dmazzoni
2015/01/05 09:12:53
same - should be 2
|
| + |
| + return factory_->GetOrCreate(elements[index]); |
| +} |
| + |
| +v8::Handle<v8::Object> WebAXObjectProxy::AriaOwnsElementAtIndex(unsigned index) |
| +{ |
| + accessibility_object_.updateLayoutAndCheckValidity(); |
| + blink::WebVector<blink::WebAXObject> elements; |
| + accessibility_object_.ariaOwns(elements); |
| + size_t elementCount = elements.size(); |
| + if (index >= elementCount) |
| + return v8::Handle<v8::Object>(); |
| + |
| + return factory_->GetOrCreate(elements[index]); |
| +} |
| + |
| std::string WebAXObjectProxy::AllAttributes() { |
| accessibility_object_.updateLayoutAndCheckValidity(); |
| return GetAttributes(accessibility_object_); |