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

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

Issue 2650733002: Revert of Update json_schema_compiler to handle the Automation extension API (Closed)
Patch Set: 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 e56944b1f4928389aae3fb68e502e1dc620804e8..1cc6e97f6b25c7f74e466e7cf67c163c358d9cc8 100644
--- a/chrome/renderer/extensions/automation_internal_custom_bindings.cc
+++ b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
@@ -30,6 +30,20 @@
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) {
@@ -703,14 +717,6 @@
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() {}
@@ -774,6 +780,22 @@
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) {
« 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