"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 ce719cef335e87ab25c59bf6063eeb61b663ad1d..9364f5b6a5f5d3f655a7782b1a25553427eebf5c 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 f053f24e4d6de272ea1edf3803d53cdaa2942bee..e8a8af39f5215538eb721ea4a6e95c168cbebcd7 100644 (file)
@@ -190,23 +190,6 @@ spi_object_return_reference (DBusMessage * msg, AtkObject * obj)
   return reply;
 }
 
-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)
 {
index 14f0fa54e789b3d6f9ac20c8982b84cb56fa05f0..5f283bce0e3e5d2abf747b6281551ef8ffccee7e 100644 (file)
@@ -48,9 +48,6 @@ spi_object_append_null_reference (DBusMessageIter * iter);
 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);