summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinwoo Kim <cinoo.kim@samsung.com>2017-09-06 19:54:59 +0900
committerShinwoo Kim <cinoo.kim@samsung.com>2017-09-06 19:54:59 +0900
commit2f6e28881ec6f7f4c3157f7bb4202f37ded06aa7 (patch)
treeee48b9979330768c44dd8379dbc7177dfe895b3c
parent1cfc96dd5b641277299931274b5c745114c42133 (diff)
downloadefl-2f6e28881ec6f7f4c3157f7bb4202f37ded06aa7.tar.gz
elementary: atspi accessible name uses plain text
The markup information of accessible name is not necessary.
-rw-r--r--src/lib/elementary/elc_multibuttonentry.c8
-rw-r--r--src/lib/elementary/elm_entry.c4
-rw-r--r--src/lib/elementary/elm_index.c2
-rw-r--r--src/lib/elementary/elm_list.c2
-rw-r--r--src/lib/elementary/elm_toolbar.c2
-rw-r--r--src/lib/elementary/elm_widget.c38
-rw-r--r--src/lib/elementary/elm_widget.h2
7 files changed, 42 insertions, 16 deletions
diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c
index f4b00a597d..7e2883c89e 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -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
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index b317e77124..25aa2ba7b5 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -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 */
diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c
index 85e2b99b42..d21f3b5e5f 100644
--- a/src/lib/elementary/elm_index.c
+++ b/src/lib/elementary/elm_index.c
@@ -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*
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c
index 8181dd9396..1a52decb02 100644
--- a/src/lib/elementary/elm_list.c
+++ b/src/lib/elementary/elm_list.c
@@ -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 *
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index b947e86116..cf9bc7210c 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -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
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 523a34eb2e..f1f0fb217b 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -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*
diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h
index 8f3eae2ee0..0e51f610f2 100644
--- a/src/lib/elementary/elm_widget.h
+++ b/src/lib/elementary/elm_widget.h
@@ -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; \