elm: [ATSPI]: 1. As ATSPI mode is always on, check for bridge connect as well
authorShilpa Singh <shilpa.singh@samsung.com>
Mon, 4 Dec 2017 14:41:47 +0000 (20:11 +0530)
committerJiyoun Park <jy0703.park@samsung.com>
Thu, 21 Dec 2017 11:40:35 +0000 (20:40 +0900)
2. Use common _elm_atspi_enabled func instead of internal func

Change-Id: Idd3d90aa31181ef5a5f65e4c0c1e0855d8e5cbf7

16 files changed:
src/lib/elementary/efl_ui_layout.c
src/lib/elementary/efl_ui_multibuttonentry.c
src/lib/elementary/efl_ui_radio.c
src/lib/elementary/efl_ui_win.c
src/lib/elementary/elm_colorselector.c
src/lib/elementary/elm_conform.c
src/lib/elementary/elm_conformant.eo
src/lib/elementary/elm_entry.c
src/lib/elementary/elm_flipselector.c
src/lib/elementary/elm_gengrid.c
src/lib/elementary/elm_genlist.c
src/lib/elementary/elm_index.c
src/lib/elementary/elm_list.c
src/lib/elementary/elm_spinner.c
src/lib/elementary/elm_toolbar.c
src/lib/elementary/elm_widget.c

index 906b5fe..f1c7db4 100644 (file)
@@ -400,14 +400,14 @@ _efl_ui_layout_elm_widget_on_focus_update(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_
      {
         elm_layout_signal_emit(obj, "elm,action,focus", "elm");
         evas_object_focus_set(wd->resize_obj, EINA_TRUE);
-        if (_elm_config->atspi_mode && !elm_widget_child_can_focus_get(obj))
+        if (_elm_atspi_enabled() && !elm_widget_child_can_focus_get(obj))
           efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_FOCUSED, EINA_TRUE);
      }
    else
      {
         elm_layout_signal_emit(obj, "elm,action,unfocus", "elm");
         evas_object_focus_set(wd->resize_obj, EINA_FALSE);
-        if (_elm_config->atspi_mode && !elm_widget_child_can_focus_get(obj))
+        if (_elm_atspi_enabled() && !elm_widget_child_can_focus_get(obj))
           efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_FOCUSED, EINA_FALSE);
      }
 
index 2e7ac8d..4566e83 100644 (file)
@@ -488,7 +488,7 @@ _on_item_clicked(void *data,
 
    _item_select(WIDGET(it), it);
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it,
                                           EFL_ACCESS_STATE_CHECKED,
                                           EINA_TRUE);
@@ -652,7 +652,7 @@ EOLIAN static void
 _elm_multibuttonentry_item_efl_object_destructor(Eo *eo_it,
                                               Elm_Multibuttonentry_Item_Data *it)
 {
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_children_changed_del_signal_emit(WIDGET(it), eo_it);
    _item_del(it);
 
index cd5c157..0a38b8d 100644 (file)
@@ -68,7 +68,7 @@ _state_set(Evas_Object *obj, Eina_Bool state, Eina_Bool activate)
              if (activate) elm_layout_signal_emit(obj, "elm,activate,radio,off", "elm");
              elm_layout_signal_emit(obj, "elm,state,radio,off", "elm");
           }
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           {
              if (sd->state)
                {
index b29301a..b074653 100644 (file)
@@ -1370,7 +1370,7 @@ _elm_win_focus_in(Ecore_Evas *ee)
    _elm_win_focus_highlight_reconfigure_job_start(sd);
    _elm_win_frame_style_update(sd, 0, 1);
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_window_activated_signal_emit(obj);
         efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_ACTIVE, EINA_TRUE);
@@ -1404,7 +1404,7 @@ _elm_win_focus_out(Ecore_Evas *ee)
    /* access */
    _elm_access_object_highlight_disable(evas_object_evas_get(obj));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_window_deactivated_signal_emit(obj);
         efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_ACTIVE, EINA_FALSE);
@@ -1754,13 +1754,13 @@ _elm_win_state_change(Ecore_Evas *ee)
         else if (sd->iconified)
           {
              efl_event_callback_legacy_call(obj, EFL_UI_WIN_EVENT_ICONIFIED, NULL);
-             if (_elm_config->atspi_mode)
+             if (_elm_atspi_enabled())
                efl_access_window_minimized_signal_emit(obj);
           }
         else
           {
              efl_event_callback_legacy_call(obj, EFL_UI_WIN_EVENT_NORMAL, NULL);
-             if (_elm_config->atspi_mode)
+             if (_elm_atspi_enabled())
                efl_access_window_restored_signal_emit(obj);
           }
      }
@@ -1801,13 +1801,13 @@ _elm_win_state_change(Ecore_Evas *ee)
         if (sd->maximized)
           {
              efl_event_callback_legacy_call(obj, EFL_UI_WIN_EVENT_MAXIMIZED, NULL);
-             if (_elm_config->atspi_mode)
+             if (_elm_atspi_enabled())
                efl_access_window_maximized_signal_emit(obj);
           }
         else
           {
              efl_event_callback_legacy_call(obj, EFL_UI_WIN_EVENT_UNMAXIMIZED, NULL);
-             if (_elm_config->atspi_mode)
+             if (_elm_atspi_enabled())
                efl_access_window_restored_signal_emit(obj);
           }
      }
@@ -1837,7 +1837,7 @@ _elm_win_state_change(Ecore_Evas *ee)
           (obj, EFL_UI_WIN_EVENT_ROTATION_CHANGED, NULL);
         efl_event_callback_legacy_call
           (obj, EFL_UI_WIN_EVENT_WM_ROTATION_CHANGED, NULL);
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           {
              Evas_Coord x = 0, y = 0, width = 0, height = 0;
              elm_win_screen_size_get(obj, &x, &y, &width, &height);
@@ -1875,7 +1875,7 @@ _elm_win_state_change(Ecore_Evas *ee)
      {
         evas_object_smart_callback_call(obj, SIG_VISIBILITY_CHANGED, (void*)!sd->obscured);
         //TIZEN_ONLY(20160701): add atspi window state visible change signal
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_VISIBLE, !sd->obscured);
         //
      }
@@ -2522,7 +2522,7 @@ _efl_ui_win_show(Eo *obj, Efl_Ui_Win_Data *sd)
 
    TRAP(sd, show);
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         Eo *root;
         efl_access_window_created_signal_emit(obj);
@@ -2584,7 +2584,7 @@ _efl_ui_win_hide(Eo *obj, Efl_Ui_Win_Data *sd)
      }
 #endif
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         Eo *root;
         root = efl_access_root_get(EFL_ACCESS_MIXIN);
@@ -3099,7 +3099,7 @@ _efl_ui_win_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Win_Data *sd)
 
    if (sd->autodel_clear) *(sd->autodel_clear) = -1;
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_window_destroyed_signal_emit(obj);
 
    _elm_win_list = eina_list_remove(_elm_win_list, obj);
@@ -3349,7 +3349,7 @@ _elm_win_delete_request(Ecore_Evas *ee)
    if (sd->autohide)
      evas_object_hide(obj);
    ELM_WIN_DATA_ALIVE_CHECK(obj, sd);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_window_destroyed_signal_emit(obj);
    ELM_WIN_DATA_ALIVE_CHECK(obj, sd);
    if (autodel) evas_object_del(obj);
@@ -5929,7 +5929,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
      }
 
    efl_access_role_set(obj, EFL_ACCESS_ROLE_WINDOW);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_window_created_signal_emit(obj);
 
    // attach config API
@@ -6810,7 +6810,7 @@ _win_rotate(Evas_Object *obj, Efl_Ui_Win_Data *sd, int rotation, Eina_Bool resiz
    efl_ui_widget_on_orientation_update(obj, rotation);
    efl_event_callback_legacy_call
      (obj, EFL_UI_WIN_EVENT_ROTATION_CHANGED, NULL);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         Evas_Coord x = 0, y = 0, width = 0, height = 0;
         elm_win_screen_size_get(obj, &x, &y, &width, &height);
index 5e20ae6..8b2cd4f 100644 (file)
@@ -1738,10 +1738,10 @@ _item_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
    ELM_COLORSELECTOR_DATA_GET(WIDGET(item), sd);
 
    elm_object_signal_emit(VIEW(item), "elm,state,selected", "elm");
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(obj,
-                                                              EFL_ACCESS_STATE_CHECKED,
-                                                              EINA_TRUE);
+                                          EFL_ACCESS_STATE_CHECKED,
+                                          EINA_TRUE);
    elm_colorselector_color_set(WIDGET(item), item->color->r, item->color->g,
                                item->color->b, item->color->a);
    evas_object_smart_callback_call(WIDGET(item), SIG_COLOR_ITEM_SELECTED,
index 8f1a9fe..7adb631 100644 (file)
@@ -236,7 +236,7 @@ _conformant_part_sizing_eval(Evas_Object *obj,
         // END of TIZEN_ONLY(20150707)
 
         DBG("[KEYPAD]: size(%d,%d, %dx%d).", sx, sy, sw, sh);
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           {
              Evas_Object *access;
              access = evas_object_data_get(sd->virtualkeypad, "_part_access_obj");
@@ -279,55 +279,33 @@ _conformant_part_sizing_eval(Evas_Object *obj,
      }
 }
 
-//TIZEN ONLY(20160628): expose virtual keypad rect as at-spi object
+//TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
+//register/unregister access objects accordingly.
 static void
-_conformant_atspi_bridge_on_connect_cb(void *data, const Efl_Event *event EINA_UNUSED)
+_atspi_expose_keypad_area(Evas_Object *obj, Eina_Bool is_atspi)
 {
-   ELM_CONFORMANT_DATA_GET(data, sd);
+   ELM_CONFORMANT_DATA_GET(obj, sd);
    Evas_Object *access;
 
    if (sd->virtualkeypad)
      {
-        access = elm_access_object_register(sd->virtualkeypad, data);
-        efl_access_role_set(access, EFL_ACCESS_ROLE_INPUT_METHOD_WINDOW);
+        if (is_atspi)
+          {
+             access = elm_access_object_register(sd->virtualkeypad, obj);
+             efl_access_role_set(access, EFL_ACCESS_ROLE_INPUT_METHOD_WINDOW);
+          }
+        else
+          elm_access_object_unregister(sd->virtualkeypad);
      }
 }
+//
 
-static void
-_conformant_atspi_bridge_on_disconnect_cb(void *data, const Efl_Event *event EINA_UNUSED)
-{
-   ELM_CONFORMANT_DATA_GET(data, sd);
-   elm_access_object_unregister(sd->virtualkeypad);
-}
-
-static void
-_unregister_conformant_atspi_bridge_callbacks(Evas_Object *obj)
-{
-   if (!_elm_config->atspi_mode) return;
-
-   Eo *bridge = _elm_atspi_bridge_get();
-   if (!bridge) return;
-
-   efl_event_callback_del(bridge, ELM_ATSPI_BRIDGE_EVENT_CONNECTED, _conformant_atspi_bridge_on_connect_cb, obj);
-   efl_event_callback_del(bridge, ELM_ATSPI_BRIDGE_EVENT_DISCONNECTED, _conformant_atspi_bridge_on_disconnect_cb, obj);
-}
-
-static void
-_atspi_expose_keypad_area(Evas_Object *obj)
+//TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
+//register/unregister access objects accordingly.
+EOLIAN static void
+_elm_conformant_elm_widget_atspi(Eo *obj, Elm_Conformant_Data *_pd EINA_UNUSED, Eina_Bool is_atspi)
 {
-   Eina_Bool connected = EINA_FALSE;
-   Eo *bridge = _elm_atspi_bridge_get();
-   if (!bridge) return;
-
-   // If bridge is connected expose it now
-   connected = elm_obj_atspi_bridge_connected_get(bridge);
-   if (connected)
-     _conformant_atspi_bridge_on_connect_cb(obj, NULL);
-
-   // Register for bridge connect/disconnect
-   _unregister_conformant_atspi_bridge_callbacks(obj);
-   efl_event_callback_add(bridge, ELM_ATSPI_BRIDGE_EVENT_CONNECTED, _conformant_atspi_bridge_on_connect_cb, obj);
-   efl_event_callback_add(bridge, ELM_ATSPI_BRIDGE_EVENT_DISCONNECTED, _conformant_atspi_bridge_on_disconnect_cb, obj);
+   _atspi_expose_keypad_area(obj, is_atspi);
 }
 //
 
@@ -349,8 +327,8 @@ _conformant_parts_swallow(Evas_Object *obj)
              sd->virtualkeypad = evas_object_rectangle_add(e);
              elm_widget_sub_object_add(obj, sd->virtualkeypad);
              evas_object_size_hint_max_set(sd->virtualkeypad, -1, 0);
-             if (_elm_config->atspi_mode)
-               _atspi_expose_keypad_area(obj);
+             if (_elm_atspi_enabled())
+               _atspi_expose_keypad_area(obj, EINA_TRUE);
           }
         else
           _conformant_part_sizing_eval(obj, ELM_CONFORMANT_VIRTUAL_KEYPAD_PART);
@@ -1090,9 +1068,6 @@ _elm_conformant_efl_canvas_group_group_del(Eo *obj, Elm_Conformant_Data *sd)
 
    efl_event_callback_del(sd->win, EFL_UI_WIN_EVENT_INDICATOR_PROP_CHANGED, _on_indicator_mode_changed, obj);
    efl_event_callback_del(sd->win, EFL_UI_WIN_EVENT_ROTATION_CHANGED, _on_rotation_changed, obj);
-   // TIZEN_ONLY(20160628): Unregister callbacks for ATSPI bridge enable/disable
-   _unregister_conformant_atspi_bridge_callbacks(obj);
-   //
 
    efl_canvas_group_del(efl_super(obj, MY_CLASS));
 }
index f289493..9d2d943 100644 (file)
@@ -9,6 +9,10 @@ class Elm.Conformant (Efl.Ui.Layout)
       Efl.Object.constructor;
       Elm.Widget.widget_parent { set; }
       Elm.Widget.theme_apply;
+      //TIZEN_ONLY(20161012): When atspi mode is dynamically switched on/off,
+      //register/unregister access objects accordingly.
+      Elm.Widget.atspi;
+      //
    }
    events {
       virtualkeypad,state,on; [[Called when virtualkeypad was enabled]]
index 854f234..764ee48 100644 (file)
@@ -1267,7 +1267,7 @@ _elm_entry_focus_update(Eo *obj, Elm_Entry_Data *sd)
         if (top && top_is_win && sd->input_panel_enable && !sd->input_panel_show_on_demand &&
             !edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text"))
           elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON);
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_FOCUSED, EINA_TRUE);
         _return_key_enabled_check(obj);
         _validate(obj);
@@ -1281,7 +1281,7 @@ _elm_entry_focus_update(Eo *obj, Elm_Entry_Data *sd)
         if (top && top_is_win && sd->input_panel_enable &&
             !edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text"))
           elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF);
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_FOCUSED, EINA_FALSE);
 
         if (_elm_config->selection_clear_enable)
@@ -2189,7 +2189,7 @@ _entry_changed_user_signal_cb(void *data,
      {
         efl_event_callback_legacy_call(data, ELM_ENTRY_EVENT_CHANGED_USER, NULL);
      }
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         Efl_Access_Text_Change_Info atspi_info;
         if (edje_info && edje_info->insert)
@@ -2220,7 +2220,7 @@ _entry_preedit_changed_signal_cb(void *data,
                                   edje_object_signal_callback_extra_data_get();
    _entry_changed_handle(data, ELM_ENTRY_EVENT_PREEDIT_CHANGED);
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         Efl_Access_Text_Change_Info atspi_info;
         if (edje_info && edje_info->insert)
@@ -2315,7 +2315,7 @@ _entry_selection_changed_signal_cb(void *data,
    if (!_entry_win_is_wl(data))
      _selection_store(ELM_SEL_TYPE_PRIMARY, data);
    _update_selection_handler(data);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_event_emit(EFL_ACCESS_MIXIN, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_SELECTION_CHANGED, NULL);
 }
 
@@ -2419,7 +2419,7 @@ _entry_cursor_changed_signal_cb(void *data,
 
    efl_event_callback_legacy_call(data, ELM_ENTRY_EVENT_CURSOR_CHANGED, NULL);
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_event_emit(EFL_ACCESS_MIXIN, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_CARET_MOVED, NULL);
 }
 
@@ -2431,7 +2431,7 @@ _entry_cursor_changed_manual_signal_cb(void *data,
 {
    efl_event_callback_legacy_call
      (data, ELM_ENTRY_EVENT_CURSOR_CHANGED_MANUAL, NULL);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_event_emit(EFL_ACCESS_MIXIN, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_CARET_MOVED, NULL);
 }
 
index 93cc33f..359a86e 100644 (file)
@@ -247,7 +247,7 @@ _on_item_changed(Elm_Flipselector_Data *sd)
 
 
    //TIZEN ONLY(2015090): expose flipselector top/bottom buttons for accessibility tree
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
        if (sd->access_top_button)
          {
index 170d4da..41baf59 100644 (file)
@@ -108,7 +108,6 @@ static int _is_item_in_viewport(int viewport_x, int viewport_y, int viewport_w,
 //
 //TIZEN_ONLY (20160914) : Accessibility: sort children list according to their x,y position
 static int _sort_items(const void *data1, const void *data2);
-static Eina_Bool _atspi_enabled();
 //
 
 static const Elm_Action key_actions[] = {
@@ -717,7 +716,7 @@ _item_unselect(Elm_Gen_Item *it)
         sd->selected = eina_list_remove(sd->selected, eo_it);
         efl_event_callback_legacy_call
           (WIDGET(it), EFL_UI_EVENT_UNSELECTED, eo_it);
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_SELECTED, EINA_FALSE);
      }
 }
@@ -1023,7 +1022,7 @@ _item_text_realize(Elm_Gen_Item *it,
           {
              edje_object_part_text_set(target, key, "");
           }
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_name_changed_signal_emit(EO_OBJ(it));
      }
 }
@@ -1236,7 +1235,7 @@ _elm_gengrid_item_unrealize(Elm_Gen_Item *it,
    evas_event_thaw(evas_object_evas_get(WIDGET(it)));
    evas_event_thaw_eval(evas_object_evas_get(WIDGET(it)));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_removed(EO_OBJ(it));
         efl_access_children_changed_del_signal_emit(WIDGET(it), EO_OBJ(it));
@@ -1591,7 +1590,7 @@ _item_realize(Elm_Gen_Item *it)
    /* access */
    if (_elm_config->access_mode) _access_widget_item_register(it);
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_added(EO_OBJ(it));
         efl_access_children_changed_added_signal_emit(sd->obj, EO_OBJ(it));
@@ -2242,7 +2241,7 @@ _elm_gengrid_pan_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, Elm_Gengr
      _elm_widget_focus_highlight_start(psd->wobj);
 
    //TIZEN_ONLY (20160914) : Accessibility: sort children list according to their x,y position
-   if (_atspi_enabled() && sd->horizontal)
+   if (_elm_atspi_enabled() && sd->horizontal)
      sd->atspi_children = eina_list_sort(sd->atspi_children, eina_list_count(sd->atspi_children), _sort_items);
    //
 }
@@ -2344,7 +2343,7 @@ _elm_gengrid_item_focused(Elm_Object_Item *eo_it)
      }
 
    efl_event_callback_legacy_call(obj, ELM_GENGRID_EVENT_ITEM_FOCUSED, eo_it);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_FOCUSED, EINA_TRUE);
 }
 
@@ -2374,7 +2373,7 @@ _elm_gengrid_item_unfocused(Elm_Object_Item *eo_it)
 
    sd->focused_item = NULL;
    efl_event_callback_legacy_call(obj, ELM_GENGRID_EVENT_ITEM_UNFOCUSED, eo_it);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_FOCUSED, EINA_FALSE);
 }
 
@@ -3968,7 +3967,7 @@ _item_select(Elm_Gen_Item *it)
    if (it->generation == sd->generation)
      {
         efl_event_callback_legacy_call(WIDGET(it), EFL_UI_EVENT_SELECTED, eo_it);
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_SELECTED, EINA_TRUE);
      }
 
@@ -6005,16 +6004,6 @@ _elm_gengrid_item_efl_access_children_get(Eo *eo_it EINA_UNUSED, Elm_Gen_Item *i
 }
 //
 
-// TIZEN_ONLY (20151009) : Accessibility: updated highlight change during gengrid scroll
-static Eina_Bool _atspi_enabled()
-{
-    Eo *bridge = NULL;
-    Eina_Bool ret = EINA_FALSE;
-    if (_elm_config->atspi_mode && (bridge = _elm_atspi_bridge_get()))
-      ret = elm_obj_atspi_bridge_connected_get(bridge);
-    return ret;
-}
-
 static int _is_item_in_viewport(int viewport_x, int viewport_y, int viewport_w, int viewport_h,
                                 int obj_x, int obj_y, int obj_w, int obj_h)
 {
@@ -6032,7 +6021,7 @@ static int _is_item_in_viewport(int viewport_x, int viewport_y, int viewport_w,
 EOLIAN static void
 _elm_gengrid_elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Gengrid_Data *sd EINA_UNUSED, Evas_Coord x, Evas_Coord y, Eina_Bool sig)
 {
-   if (!_atspi_enabled())
+   if (!_elm_atspi_enabled())
      {
        elm_interface_scrollable_content_pos_set(efl_super(obj, MY_CLASS), x, y, sig);
        return;
index e9ecdc7..4dc0fad 100644 (file)
@@ -370,7 +370,7 @@ _item_text_realize(Elm_Gen_Item *it,
           {
              edje_object_part_text_set(target, key, "");
           }
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_name_changed_signal_emit(EO_OBJ(it));
      }
 }
@@ -1862,7 +1862,7 @@ _item_realize(Elm_Gen_Item *it, const int index, Eina_Bool calc)
      }
 
    //TIZEN_ONLY(20150709) Do not register children of MANAGES_DESCENDATS objects
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_added(EO_OBJ(it));
         efl_access_children_changed_added_signal_emit(sd->obj, EO_OBJ(it));
@@ -2875,7 +2875,7 @@ _elm_genlist_item_focused(Elm_Object_Item *eo_it)
    if (it->realized)
      _elm_genlist_item_focus_update(it);
    efl_event_callback_legacy_call(obj, ELM_GENLIST_EVENT_ITEM_FOCUSED, eo_it);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_FOCUSED, EINA_TRUE);
 }
 
@@ -2903,7 +2903,7 @@ _elm_genlist_item_unfocused(Elm_Object_Item *eo_it)
 
    sd->focused_item = NULL;
    efl_event_callback_legacy_call(obj, ELM_GENLIST_EVENT_ITEM_UNFOCUSED, eo_it);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_FOCUSED, EINA_FALSE);
 }
 
@@ -3870,7 +3870,7 @@ _item_unselect(Elm_Gen_Item *it)
    sd->selected = eina_list_remove(sd->selected, EO_OBJ(it));
    efl_event_callback_legacy_call
      (WIDGET(it), EFL_UI_EVENT_UNSELECTED, EO_OBJ(it));
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(EO_OBJ(it), EFL_ACCESS_STATE_SELECTED, EINA_FALSE);
 }
 
@@ -5234,7 +5234,7 @@ _item_unrealize(Elm_Gen_Item *it)
      _elm_access_widget_item_unregister(it->base);
 
    //TIZEN_ONLY(20150709) Do not register children of MANAGES_DESCENDATS objects
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_removed(EO_OBJ(it));
         efl_access_children_changed_del_signal_emit(sd->obj, EO_OBJ(it));
@@ -6066,7 +6066,7 @@ _item_select(Elm_Gen_Item *it)
    // delete item if it's requested deletion in the above callbacks.
    if ((it->base)->on_deletion) goto item_deleted;
    efl_event_callback_legacy_call(WIDGET(it), EFL_UI_EVENT_SELECTED, eo_it);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_SELECTED, EINA_TRUE);
    // delete item if it's requested deletion in the above callbacks.
    if ((it->base)->on_deletion) goto item_deleted;
@@ -6171,7 +6171,7 @@ _elm_genlist_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED,
         sd->items = eina_inlist_remove(sd->items, EINA_INLIST_GET(it));
         return EINA_FALSE;
      }
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_children_changed_del_signal_emit(WIDGET(it),eo_it);
 
    _item_del(it);
@@ -7155,7 +7155,7 @@ _elm_genlist_item_expanded_set(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it, Eina_B
         efl_event_callback_legacy_call
               (WIDGET(it), ELM_GENLIST_EVENT_EXPANDED, EO_OBJ(it));
         sd->auto_scroll_enabled = EINA_TRUE;
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_state_changed_signal_emit(eo_item, EFL_ACCESS_STATE_EXPANDED, EINA_TRUE);
      }
    else
@@ -7165,7 +7165,7 @@ _elm_genlist_item_expanded_set(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it, Eina_B
         efl_event_callback_legacy_call
               (WIDGET(it), ELM_GENLIST_EVENT_CONTRACTED, EO_OBJ(it));
         sd->auto_scroll_enabled = EINA_FALSE;
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_state_changed_signal_emit(eo_item, EFL_ACCESS_STATE_EXPANDED, EINA_FALSE);
      }
 }
@@ -8958,19 +8958,10 @@ static int _is_item_in_viewport(int viewport_y, int viewport_h, int obj_y, int o
     return 0;
 }
 
-static Eina_Bool _atspi_enabled()
-{
-    Eo *bridge = NULL;
-    Eina_Bool ret = EINA_FALSE;
-    if (_elm_config->atspi_mode && (bridge = _elm_atspi_bridge_get()))
-      ret = elm_obj_atspi_bridge_connected_get(bridge);
-    return ret;
-}
-
 EOLIAN static void
 _elm_genlist_elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Genlist_Data *sid EINA_UNUSED, Evas_Coord x, Evas_Coord y, Eina_Bool sig)
 {
-   if (!_atspi_enabled())
+   if (!_elm_atspi_enabled())
      {
        elm_interface_scrollable_content_pos_set(efl_super(obj, MY_CLASS), x, y, sig);
        return;
index c13e494..53d37b9 100644 (file)
@@ -110,17 +110,6 @@ _access_info_cb(void *data, Evas_Object *obj EINA_UNUSED)
    return NULL;
 }
 
-//TIZEN_ONLY(20171114) [Index] Made UX changes for atspi as per v0.2
-static Eina_Bool _atspi_enabled()
-{
-    Eo *bridge = NULL;
-    Eina_Bool ret = EINA_FALSE;
-    if (_elm_config->atspi_mode && (bridge = _elm_atspi_bridge_get()))
-      ret = elm_obj_atspi_bridge_connected_get(bridge);
-    return ret;
-}
-//
-
 EOLIAN static Evas_Object*
 _elm_index_item_elm_widget_item_access_register(Eo *eo_item, Elm_Index_Item_Data *it)
 {
@@ -1323,7 +1312,7 @@ _elm_index_item_selected_set(Eo *eo_it,
              edje_object_signal_emit(VIEW(it_inactive),
                                      "elm,state,inactive", "elm");
              //TIZEN_ONLY(20171114) [Index] Made UX changes for atspi as per v0.2
-             if (_atspi_enabled()) elm_layout_signal_emit(obj, "elm,indicator,state,inactive", "elm");
+             if (_elm_atspi_enabled()) elm_layout_signal_emit(obj, "elm,indicator,state,inactive", "elm");
              //
              edje_object_message_signal_process(VIEW(it_inactive));
           }
@@ -1336,7 +1325,7 @@ _elm_index_item_selected_set(Eo *eo_it,
 
         edje_object_signal_emit(VIEW(it_active), "elm,state,active", "elm");
         //TIZEN_ONLY(20171114) [Index] Made UX changes for atspi as per v0.2
-        if (_atspi_enabled())
+        if (_elm_atspi_enabled())
           {
             elm_layout_text_set(obj, "elm.text", strdup(it_sel->letter));
             elm_layout_signal_emit(obj, "elm,indicator,state,active", "elm");
@@ -1401,7 +1390,7 @@ _elm_index_item_append(Eo *obj, Elm_Index_Data *sd, const char *letter, Evas_Sma
    ELM_INDEX_ITEM_DATA_GET(eo_item, it);
    VIEW(it) = edje_object_add(evas_object_evas_get(obj));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_added(eo_item);
         efl_access_children_changed_added_signal_emit(obj, eo_item);
@@ -1423,7 +1412,7 @@ _elm_index_item_prepend(Eo *obj, Elm_Index_Data *sd, const char *letter, Evas_Sm
    ELM_INDEX_ITEM_DATA_GET(eo_item, it);
    VIEW(it) = edje_object_add(evas_object_evas_get(obj));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_added(eo_item);
         efl_access_children_changed_added_signal_emit(obj, eo_item);
@@ -1458,7 +1447,7 @@ _elm_index_item_insert_after(Eo *obj, Elm_Index_Data *sd, Elm_Object_Item *after
    ELM_INDEX_ITEM_DATA_GET(eo_item, it);
    VIEW(it) = edje_object_add(evas_object_evas_get(obj));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_added(eo_item);
         efl_access_children_changed_added_signal_emit(obj, eo_item);
@@ -1482,7 +1471,7 @@ _elm_index_item_insert_before(Eo *obj, Elm_Index_Data *sd, Elm_Object_Item *befo
    ELM_INDEX_ITEM_DATA_GET(eo_item, it);
    VIEW(it) = edje_object_add(evas_object_evas_get(obj));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_added(eo_item);
         efl_access_children_changed_added_signal_emit(obj, eo_item);
@@ -1526,7 +1515,7 @@ _elm_index_item_sorted_insert(Eo *obj, Elm_Index_Data *sd, const char *letter, E
    ELM_INDEX_ITEM_DATA_GET(eo_item, it);
    VIEW(it) = edje_object_add(evas_object_evas_get(obj));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      {
         efl_access_added(eo_item);
         efl_access_children_changed_added_signal_emit(obj, eo_item);
index 1b75b2a..29fdd00 100644 (file)
@@ -1144,7 +1144,7 @@ _elm_list_item_focused(Elm_Object_Item *eo_it)
      evas_object_raise(VIEW(it));
    efl_event_callback_legacy_call
      (WIDGET(it), ELM_LIST_EVENT_ITEM_FOCUSED, eo_it);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_FOCUSED, EINA_TRUE);
 }
 
@@ -1171,7 +1171,7 @@ _elm_list_item_unfocused(Elm_Object_Item *eo_it)
 
    sd->focused_item = NULL;
    efl_event_callback_legacy_call(obj, ELM_LIST_EVENT_ITEM_UNFOCUSED, eo_it);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_FOCUSED, EINA_FALSE);
 }
 
@@ -1401,8 +1401,8 @@ call:
 
    if (it->func) it->func((void *)WIDGET_ITEM_DATA_GET(eo_it), WIDGET(it), eo_it);
    efl_event_callback_legacy_call(obj, EFL_UI_EVENT_SELECTED, eo_it);
-     if (_elm_config->atspi_mode)
-       efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_SELECTED, EINA_TRUE);
+   if (_elm_atspi_enabled())
+     efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_SELECTED, EINA_TRUE);
    sd->last_selected_item = eo_it;
 
    _elm_list_unwalk(obj, sd);
@@ -1471,7 +1471,7 @@ _item_unselect(Elm_List_Item_Data *it)
               (sd->select_mode == ELM_OBJECT_SELECT_MODE_NONE)))
           efl_event_callback_legacy_call
             (WIDGET(it), EFL_UI_EVENT_UNSELECTED, EO_OBJ(it));
-        if (_elm_config->atspi_mode)
+        if (_elm_atspi_enabled())
           efl_access_state_changed_signal_emit(EO_OBJ(it), EFL_ACCESS_STATE_SELECTED, EINA_FALSE);
      }
 
@@ -2330,11 +2330,11 @@ _item_new(Evas_Object *obj,
    VIEW(it) = edje_object_add(evas_object_evas_get(obj));
    edje_object_update_hints_set(VIEW(it), 1);
 
-   if (_elm_config->atspi_mode)
-   {
-       if (it->icon) efl_access_parent_set(it->icon, eo_it);
-       if (it->end) efl_access_parent_set(it->end, eo_it);
-   }
+   if (_elm_atspi_enabled())
+     {
+        if (it->icon) efl_access_parent_set(it->icon, eo_it);
+        if (it->end) efl_access_parent_set(it->end, eo_it);
+     }
 
    /* access */
    if (_elm_config->access_mode == ELM_ACCESS_MODE_ON)
@@ -2373,7 +2373,7 @@ _item_new(Evas_Object *obj,
         elm_widget_tree_unfocusable_set(it->end, EINA_TRUE);
      }
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_added(eo_it);
 
    return it;
@@ -2829,7 +2829,7 @@ _elm_list_item_append(Eo *obj, Elm_List_Data *sd, const char *label, Evas_Object
    it->node = eina_list_last(sd->items);
    elm_box_pack_end(sd->box, VIEW(it));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_children_changed_added_signal_emit(obj, EO_OBJ(it));
 
    return EO_OBJ(it);
@@ -2846,7 +2846,7 @@ _elm_list_item_prepend(Eo *obj, Elm_List_Data *sd, const char *label, Evas_Objec
    it->node = sd->items;
    elm_box_pack_start(sd->box, VIEW(it));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_children_changed_added_signal_emit(obj, EO_OBJ(it));
 
    return EO_OBJ(it);
@@ -2868,7 +2868,7 @@ _elm_list_item_insert_before(Eo *obj, Elm_List_Data *sd, Elm_Object_Item *eo_bef
    it->node = before_it->node->prev;
    elm_box_pack_before(sd->box, VIEW(it), VIEW(before_it));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_children_changed_added_signal_emit(obj, EO_OBJ(it));
 
    return EO_OBJ(it);
@@ -2890,7 +2890,7 @@ _elm_list_item_insert_after(Eo *obj, Elm_List_Data *sd, Elm_Object_Item *eo_afte
    it->node = after_it->node->next;
    elm_box_pack_after(sd->box, VIEW(it), VIEW(after_it));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_children_changed_added_signal_emit(obj, EO_OBJ(it));
 
    return EO_OBJ(it);
@@ -2921,7 +2921,7 @@ _elm_list_item_sorted_insert(Eo *obj, Elm_List_Data *sd, const char *label, Evas
         elm_box_pack_before(sd->box, VIEW(it), VIEW(before));
      }
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_children_changed_added_signal_emit(obj, EO_OBJ(it));
 
    return EO_OBJ(it);
@@ -3338,20 +3338,10 @@ static int _is_item_in_viewport(int viewport_y, int viewport_h, int obj_y, int o
     return 0;
 }
 
-static Eina_Bool _atspi_enabled()
-{
-   Eo *bridge = NULL;
-   Eina_Bool ret = EINA_FALSE;
-   if (_elm_config->atspi_mode && (bridge = _elm_atspi_bridge_get()))
-     ret = elm_obj_atspi_bridge_connected_get(bridge);
-
-   return ret;
-}
-
 EOLIAN static void
 _elm_list_elm_interface_scrollable_content_pos_set(Eo *obj EINA_UNUSED, Elm_List_Data *pd, Evas_Coord x, Evas_Coord y, Eina_Bool sig)
 {
-   if (!_atspi_enabled())
+   if (!_elm_atspi_enabled())
      {
        elm_interface_scrollable_content_pos_set(efl_super(obj, MY_CLASS), x, y, sig);
        return;
index 3c82818..2e3e1e7 100644 (file)
@@ -71,16 +71,6 @@ EFL_CALLBACKS_ARRAY_DEFINE(_inc_dec_button_cb,
 
 static void _access_increment_decrement_info_say(Evas_Object *obj,
                                                  Eina_Bool is_incremented);
-//TIZEN_ONLY(20160606): Forcefully setting highlight frame on spinner entry as on entry activation frame goes to window again.
-static Eina_Bool _atspi_enabled()
-{
-    Eo *bridge = NULL;
-    Eina_Bool ret = EINA_FALSE;
-    if (_elm_config->atspi_mode && (bridge = _elm_atspi_bridge_get()))
-      ret = elm_obj_atspi_bridge_connected_get(bridge);
-    return ret;
-}
-//
 
 static Eina_Bool
 _is_valid_digit(char x)
@@ -406,7 +396,7 @@ _entry_hide(Evas_Object *obj)
      sd->entry_reactivate = EINA_TRUE;
 
    //TIZEN_ONLY(20160606): Forcefully setting highlight frame on spinner entry as on entry activation frame goes to window again.
-   if (_atspi_enabled())
+   if (_elm_atspi_enabled())
      efl_access_component_highlight_clear(sd->ent);
    //
 
@@ -618,7 +608,7 @@ _entry_show_cb(void *data,
    elm_layout_signal_emit(data, "elm,state,button,inactive", "elm");
    evas_object_hide(sd->text_button);
    //TIZEN_ONLY(20160606): Forcefully setting highlight frame on spinner entry as on entry activation frame goes to window again.
-   if (_atspi_enabled())
+   if (_elm_atspi_enabled())
      efl_access_component_highlight_grab(obj);
    //
 }
index 9f5f203..3aaf18f 100644 (file)
@@ -164,7 +164,7 @@ _item_unselect(Elm_Toolbar_Item_Data *item)
    if (item->icon)
      elm_widget_signal_emit(item->icon, "elm,state,unselected", "elm");
    efl_event_callback_legacy_call(WIDGET(item), EFL_UI_EVENT_UNSELECTED, EO_OBJ(item));
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
     efl_access_state_changed_signal_emit(EO_OBJ(item), EFL_ACCESS_STATE_SELECTED, EINA_FALSE);
 }
 
@@ -641,7 +641,7 @@ _elm_toolbar_item_focused(Elm_Object_Item *eo_it)
      evas_object_raise(VIEW(it));
    efl_event_callback_legacy_call
      (obj, ELM_TOOLBAR_EVENT_ITEM_FOCUSED, EO_OBJ(it));
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(EO_OBJ(it), EFL_ACCESS_STATE_FOCUSED, EINA_TRUE);
 }
 
@@ -668,7 +668,7 @@ _elm_toolbar_item_unfocused(Elm_Object_Item *eo_it)
    sd->focused_item = NULL;
    efl_event_callback_legacy_call
      (obj, ELM_TOOLBAR_EVENT_ITEM_UNFOCUSED, eo_it);
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_state_changed_signal_emit(eo_it, EFL_ACCESS_STATE_FOCUSED, EINA_TRUE);
 }
 
@@ -1078,7 +1078,7 @@ _item_select(Elm_Toolbar_Item_Data *it)
         if (it->func) it->func((void *)(WIDGET_ITEM_DATA_GET(EO_OBJ(it))), WIDGET(it), EO_OBJ(it));
      }
    efl_event_callback_legacy_call(obj, EFL_UI_EVENT_SELECTED, EO_OBJ(it));
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
     efl_access_state_changed_signal_emit(EO_OBJ(it), EFL_ACCESS_STATE_SELECTED, EINA_TRUE);
 }
 
@@ -2405,7 +2405,7 @@ _item_new(Evas_Object *obj,
 
    icon_obj = elm_icon_add(VIEW(it));
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
        if (icon_obj) efl_access_parent_set(icon_obj, eo_it);
 
    if (_elm_config->access_mode == ELM_ACCESS_MODE_ON)
@@ -2474,7 +2474,7 @@ _item_new(Evas_Object *obj,
    if ((!sd->items) && (sd->select_mode == ELM_OBJECT_SELECT_MODE_ALWAYS))
      _item_select(it);
 
-   if (_elm_config->atspi_mode)
+   if (_elm_atspi_enabled())
      efl_access_added(eo_it);
 
    return it;
index c757c0f..37d2340 100644 (file)
@@ -880,7 +880,7 @@ _elm_widget_efl_gfx_visible_set(Eo *obj, Elm_Widget_Smart_Data *pd, Eina_Bool vi
      }
    eina_iterator_free(it);
 
-   if (!_elm_config->atspi_mode || pd->on_destroy)
+   if (!_elm_atspi_enabled() || pd->on_destroy)
      return;
 
    if (vis)
@@ -1503,7 +1503,7 @@ _elm_widget_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Objec
 
         elm_widget_display_mode_set(sobj,
               evas_object_size_hint_display_mode_get(obj));
-        if (_elm_config->atspi_mode && !sd->on_create)
+        if (_elm_atspi_enabled() && !sd->on_create)
           {
              Efl_Access *aparent;
              aparent = efl_access_parent_get(sobj);
@@ -1581,7 +1581,7 @@ _elm_widget_widget_sub_object_del(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Objec
                   parent = sdp->parent_obj;
                }
           }
-        if (_elm_config->atspi_mode && !sd->on_destroy)
+        if (_elm_atspi_enabled() && !sd->on_destroy)
           {
              Efl_Access *aparent;
              aparent = efl_access_parent_get(sobj);
@@ -5310,7 +5310,7 @@ _elm_widget_on_focus_update(Eo *obj, Elm_Widget_Smart_Data *sd, Elm_Object_Item
    if (!sd->resize_obj)
      evas_object_focus_set(obj, focused);
 
-   if (_elm_config->atspi_mode && !elm_widget_child_can_focus_get(obj))
+   if (_elm_atspi_enabled() && !elm_widget_child_can_focus_get(obj))
      efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_FOCUSED, focused);
 
    return EINA_TRUE;