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

Unified Diff: chrome/renderer/extensions/automation_internal_custom_bindings.cc

Issue 2601333002: Update json_schema_compiler to handle the Automation extension API (Closed)
Patch Set: Rebase Created 3 years, 11 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: chrome/renderer/extensions/automation_internal_custom_bindings.cc
diff --git a/chrome/renderer/extensions/automation_internal_custom_bindings.cc b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
index 1cc6e97f6b25c7f74e466e7cf67c163c358d9cc8..e56944b1f4928389aae3fb68e502e1dc620804e8 100644
--- a/chrome/renderer/extensions/automation_internal_custom_bindings.cc
+++ b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
@@ -31,20 +31,6 @@ namespace extensions {
namespace {
-// Helper to convert an enum to a V8 object.
-template <typename EnumType>
-v8::Local<v8::Object> ToEnumObject(v8::Isolate* isolate,
- EnumType start_after,
- EnumType end_at) {
- v8::Local<v8::Object> object = v8::Object::New(isolate);
- for (int i = start_after + 1; i <= end_at; ++i) {
- v8::Local<v8::String> value = v8::String::NewFromUtf8(
- isolate, ui::ToString(static_cast<EnumType>(i)).c_str());
- object->Set(value, value);
- }
- return object;
-}
-
void ThrowInvalidArgumentsException(
AutomationInternalCustomBindings* automation_bindings) {
v8::Isolate* isolate = automation_bindings->GetIsolate();
@@ -717,6 +703,14 @@ AutomationInternalCustomBindings::AutomationInternalCustomBindings(
result.Set(v8::String::NewFromUtf8(isolate, attr_value.c_str()));
});
+ RouteNodeIDFunction(
+ "GetNameFrom", [](v8::Isolate* isolate, v8::ReturnValue<v8::Value> result,
+ TreeCache* cache, ui::AXNode* node) {
+ ui::AXNameFrom name_from = static_cast<ui::AXNameFrom>(
+ node->data().GetIntAttribute(ui::AX_ATTR_NAME_FROM));
+ std::string name_from_str = ui::ToString(name_from);
+ result.Set(v8::String::NewFromUtf8(isolate, name_from_str.c_str()));
+ });
}
AutomationInternalCustomBindings::~AutomationInternalCustomBindings() {}
@@ -781,22 +775,6 @@ void AutomationInternalCustomBindings::GetSchemaAdditions(
const v8::FunctionCallbackInfo<v8::Value>& args) {
v8::Local<v8::Object> additions = v8::Object::New(GetIsolate());
- additions->Set(
- v8::String::NewFromUtf8(GetIsolate(), "EventType"),
- ToEnumObject(GetIsolate(), ui::AX_EVENT_NONE, ui::AX_EVENT_LAST));
-
- additions->Set(
- v8::String::NewFromUtf8(GetIsolate(), "RoleType"),
- ToEnumObject(GetIsolate(), ui::AX_ROLE_NONE, ui::AX_ROLE_LAST));
-
- additions->Set(
- v8::String::NewFromUtf8(GetIsolate(), "StateType"),
- ToEnumObject(GetIsolate(), ui::AX_STATE_NONE, ui::AX_STATE_LAST));
-
- additions->Set(
- v8::String::NewFromUtf8(GetIsolate(), "TreeChangeType"),
- ToEnumObject(GetIsolate(), ui::AX_MUTATION_NONE, ui::AX_MUTATION_LAST));
-
v8::Local<v8::Object> name_from_type(v8::Object::New(GetIsolate()));
for (int i = ui::AX_NAME_FROM_NONE; i <= ui::AX_NAME_FROM_LAST; ++i) {
name_from_type->Set(
« no previous file with comments | « chrome/common/extensions/api/automation.idl ('k') | chrome/renderer/resources/extensions/automation/automation_node.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698