"GetNavigableAtPoint" sends deputy object 41/136241/1 accepted/tizen_4.0_unified tizen_4.0 tizen_4.0_tv accepted/tizen/4.0/unified/20170816.013347 accepted/tizen/4.0/unified/20170816.015032 accepted/tizen/4.0/unified/20170828.222552 accepted/tizen/unified/20170711.181138 submit/tizen/20170707.071852 submit/tizen/20170711.023244 submit/tizen_4.0/20170811.094300 submit/tizen_4.0/20170814.115522 submit/tizen_4.0/20170828.100005 submit/tizen_4.0_unified/20170814.115522 tizen_4.0.IoT.p1_release tizen_4.0.IoT.p2_release tizen_4.0.m2_release
authorShinwoo Kim <cinoo.kim@samsung.com>
Wed, 14 Jun 2017 05:34:45 +0000 (14:34 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Thu, 29 Jun 2017 00:04:37 +0000 (09:04 +0900)
The deputy means embedding side object works for embedded object.
If there is no object at point on embedded side, then the deputy object should
have highlight.

So far the deputy object is elm_access, and the elm_access takes highlight.
So there is no chance to have highlight on embedded side.

This patch set reuires:
at-spi2-core: 60727302f1a402bc5aa0c671af0cbe9ecddb6a86
elementary: b82beff73c41f52542d71fd6f4d9ad4ddcb4bacc

Change-Id: I2cc17bc15f7d75c42dcf8ee437c459e93d84eb25

atk-adaptor/adaptors/accessible-adaptor.c
atk-adaptor/object.c
atk-adaptor/object.h

index ce719ce..9364f5b 100644 (file)
@@ -641,7 +641,16 @@ impl_GetNeighbor (DBusConnection * bus, DBusMessage * message, void *user_data)
 
   AtkObject *root_object = (AtkObject*)spi_global_register_path_to_object(root_path);
   child = _calculate_neighbor (root_object, start, direction == 1, search_mode);
-  reply = spi_object_return_reference_and_recurse_flag (message, child, 0);
+  reply = dbus_message_new_method_return (message);
+  if (reply)
+    {
+      DBusMessageIter iter;
+      dbus_message_iter_init_append (reply, &iter);
+      spi_object_append_reference (&iter, child);
+
+      unsigned char recurse = 0;
+      dbus_message_iter_append_basic (&iter, DBUS_TYPE_BYTE, &recurse);
+    }
 
   return reply;
 }
@@ -663,7 +672,19 @@ impl_GetNavigableAtPoint (DBusConnection * bus, DBusMessage * message,
       return droute_invalid_arguments_error (message);
     }
   child = _calculate_navigable_accessible_at_point (object, coord_type == ATSPI_COORD_TYPE_SCREEN, x, y);
-  reply = spi_object_return_reference_and_recurse_flag (message, child, 0);
+  reply = dbus_message_new_method_return (message);
+  if (reply)
+    {
+      DBusMessageIter iter;
+      dbus_message_iter_init_append (reply, &iter);
+      spi_object_append_reference (&iter, child);
+
+      unsigned char recurse = 0;
+      dbus_message_iter_append_basic (&iter, DBUS_TYPE_BYTE, &recurse);
+
+      /* deputy */
+      spi_object_append_null_reference (&iter);
+    }
 
   return reply;
 }
index f053f24..e8a8af3 100644 (file)
@@ -191,23 +191,6 @@ spi_object_return_reference (DBusMessage * msg, AtkObject * obj)
 }
 
 DBusMessage *
-spi_object_return_reference_and_recurse_flag (DBusMessage * msg, AtkObject * obj, unsigned char recurse)
-{
-  DBusMessage *reply;
-
-  reply = dbus_message_new_method_return (msg);
-  if (reply)
-    {
-      DBusMessageIter iter;
-      dbus_message_iter_init_append (reply, &iter);
-      spi_object_append_reference (&iter, obj);
-      dbus_message_iter_append_basic (&iter, DBUS_TYPE_BYTE, &recurse);
-    }
-
-  return reply;
-}
-
-DBusMessage *
 spi_hyperlink_return_reference (DBusMessage * msg, AtkHyperlink * obj)
 {
   DBusMessage *reply;
index 14f0fa5..5f283bc 100644 (file)
@@ -49,9 +49,6 @@ DBusMessage *
 spi_object_return_reference (DBusMessage * msg, AtkObject * obj);
 
 DBusMessage *
-spi_object_return_reference_and_recurse_flag (DBusMessage * msg, AtkObject * obj, unsigned char recurse);
-
-DBusMessage *
 spi_hyperlink_return_reference (DBusMessage * msg, AtkHyperlink * obj);
 
 void