elementary: atspi accessible name uses plain text
authorShinwoo Kim <cinoo.kim@samsung.com>
Wed, 6 Sep 2017 10:54:59 +0000 (19:54 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Wed, 6 Sep 2017 10:54:59 +0000 (19:54 +0900)
The markup information of accessible name is not necessary.

src/lib/elementary/elc_multibuttonentry.c
src/lib/elementary/elm_entry.c
src/lib/elementary/elm_index.c
src/lib/elementary/elm_list.c
src/lib/elementary/elm_toolbar.c
src/lib/elementary/elm_widget.c
src/lib/elementary/elm_widget.h

index f4b00a5..7e2883c 100644 (file)
@@ -2078,14 +2078,14 @@ _elm_multibuttonentry_elm_interface_atspi_accessible_children_get(Eo *obj, Elm_M
 }
 
 EOLIAN static const char*
-_elm_multibuttonentry_item_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Multibuttonentry_Item_Data *item)
+_elm_multibuttonentry_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Multibuttonentry_Item_Data *item)
 {
    const char *ret;
-   ret = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_MULTIBUTTONENTRY_ITEM_CLASS));
+   ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_MULTIBUTTONENTRY_ITEM_CLASS));
    if (ret) return ret;
 
-   const char *txt = elm_object_part_text_get(VIEW(item), "elm.btn.text");
-   return txt;
+   ret = elm_object_part_text_get(VIEW(item), "elm.btn.text");
+   return _elm_widget_item_accessible_plain_name_get(eo_it, ret);
 }
 
 EOLIAN static Elm_Atspi_State_Set
index b317e77..25aa2ba 100644 (file)
@@ -6041,11 +6041,11 @@ _elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Entry_Data *sd)
 
    if (sd->password) return NULL;
 
-   name = _elm_util_mkup_to_text(elm_entry_entry_get(obj));
+   name = _elm_widget_accessible_plain_name_get(obj, elm_entry_entry_get(obj));
    if (name && strncmp("", name, 1)) return name;
 
    const char *ret = edje_object_part_text_get(sd->entry_edje, "elm.guide");
-   return _elm_util_mkup_to_text(ret);
+   return _elm_widget_accessible_plain_name_get(obj, ret);
 }
 
 /* Efl.Part begin */
index 85e2b99..d21f3b5 100644 (file)
@@ -1739,7 +1739,7 @@ _elm_index_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Index_Ite
    name = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_INDEX_ITEM_CLASS));
    if (name) return name;
 
-   return data->letter;
+   return _elm_widget_item_accessible_plain_name_get(eo_it, data->letter);
 }
 
 EOLIAN static const Elm_Atspi_Action*
index 8181dd9..1a52dec 100644 (file)
@@ -2129,7 +2129,7 @@ _elm_list_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_List_Item_
    const char *ret;
    ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_LIST_ITEM_CLASS));
    if (ret) return ret;
-   return data->label;
+   return _elm_widget_item_accessible_plain_name_get(eo_it, data->label);
 }
 
 static char *
index b947e86..cf9bc72 100644 (file)
@@ -3997,7 +3997,7 @@ _elm_toolbar_item_elm_interface_atspi_accessible_name_get(Eo *eo_item, Elm_Toolb
    const char *ret;
    ret = elm_interface_atspi_accessible_name_get(efl_super(eo_item, ELM_TOOLBAR_ITEM_CLASS));
    if (ret) return ret;
-   return item->label;
+   return _elm_widget_item_accessible_plain_name_get(eo_item, item->label);
 }
 
 EOLIAN static Elm_Atspi_State_Set
index 523a34e..f1f0fb2 100644 (file)
@@ -5095,6 +5095,35 @@ _elm_widget_item_onscreen_is(Elm_Object_Item *item)
    return EINA_TRUE;
 }
 
+const char*
+_elm_widget_accessible_plain_name_get(Evas_Object *obj, const char* name)
+{
+   char *accessible_plain_name;
+
+   API_ENTRY return NULL;
+
+   accessible_plain_name = _elm_util_mkup_to_text(name);
+   eina_stringshare_del(sd->accessible_name);
+   sd->accessible_name =  eina_stringshare_add(accessible_plain_name);
+   free(accessible_plain_name);
+   return sd->accessible_name;
+}
+
+const char*
+_elm_widget_item_accessible_plain_name_get(Elm_Object_Item *item, const char* name)
+{
+   char *accessible_plain_name;
+
+   Elm_Widget_Item_Data *id = efl_data_scope_get(item, ELM_WIDGET_ITEM_CLASS);
+   if (!id) return NULL;
+
+   accessible_plain_name = _elm_util_mkup_to_text(name);
+   eina_stringshare_del(id->accessible_name);
+   id->accessible_name =  eina_stringshare_add(accessible_plain_name);
+   free(accessible_plain_name);
+   return id->accessible_name;
+}
+
 EOLIAN static Elm_Atspi_State_Set
 _elm_widget_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_item,
                                                               Elm_Widget_Item_Data *item EINA_UNUSED)
@@ -6298,10 +6327,9 @@ _elm_widget_elm_interface_atspi_component_focus_grab(Eo *obj, Elm_Widget_Smart_D
 }
 
 EOLIAN static const char*
-_elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd)
+_elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED)
 {
    const char *ret, *name;
-   char *accessible_name;
    name = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_WIDGET_CLASS));
 
    if (name) return name;
@@ -6309,11 +6337,7 @@ _elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Wid
    ret = elm_object_text_get(obj);
    if (!ret) return NULL;
 
-   accessible_name = _elm_util_mkup_to_text(ret);
-   eina_stringshare_del(_pd->accessible_name);
-   _pd->accessible_name =  eina_stringshare_add(accessible_name);
-   free(accessible_name);
-   return _pd->accessible_name;
+   return _elm_widget_accessible_plain_name_get(obj, ret);
 }
 
 EOLIAN static Eina_List*
index 8f3eae2..0e51f61 100644 (file)
@@ -751,6 +751,8 @@ EAPI void             elm_widget_tree_dump(const Evas_Object *top);
 EAPI void             elm_widget_tree_dot_dump(const Evas_Object *top, FILE *output);
 EAPI Eina_Bool        _elm_widget_onscreen_is(Evas_Object *widget);
 EAPI Eina_Bool        _elm_widget_item_onscreen_is(Elm_Object_Item *item);
+const char*           _elm_widget_accessible_plain_name_get(Evas_Object *obj, const char* name);
+const char*           _elm_widget_item_accessible_plain_name_get(Elm_Object_Item *item, const char* name);
 
 #define ELM_WIDGET_DATA_GET_OR_RETURN(o, ptr, ...)   \
   Elm_Widget_Smart_Data *ptr;                        \