Eina_Bool object_has_defunct_state(AtspiAccessible *obj);
Eina_Bool object_has_highlighted_state(AtspiAccessible *obj);
Eina_Bool object_get_extents(AtspiAccessible *object, AtspiRect *extents);
+Eina_Bool is_legacy_toolkit(AtspiAccessible *obj);
int get_percent_value(double value, double lower, double upper);
DEBUG("Append Window");
window_tracker_window_append(atd->window_tracker_data, event->source, EINA_FALSE);
} else if (role == ATSPI_ROLE_PAGE_TAB) {
- gchar* toolkit_name = atspi_accessible_get_toolkit_name(event->source, NULL);
- if (toolkit_name) {
- if (g_str_equal(toolkit_name, "elementary")) {
- // EFL only: refresh default label for newly showing page tab
- DEBUG("Refreshing TAB");
- timer_reschedule(atd);
- }
- g_free(toolkit_name);
+ if (is_legacy_toolkit(event->source)) {
+ // EFL only: refresh default label for newly showing page tab
+ DEBUG("Refreshing TAB");
+ timer_reschedule(atd);
}
} else if (role == ATSPI_ROLE_NOTIFICATION) {
// Read notification without rebuilding context
return generate_role_trait_recursive(rm, 0, 1);
}
+
TIZEN_PROD_STATIC char *generate_state_trait_from_role(AtspiAccessibleReadingMaterial *rm)
{
AtspiRole role = rm->role;
}
case ATSPI_ROLE_PAGE_TAB: {
AtspiAccessible *parent = rm->parent;
- if (!parent) break;
+ if (!parent || is_legacy_toolkit(rm->self)) break;
+
AtspiRole parent_role = rm->parent_role;
if (parent_role == ATSPI_ROLE_PAGE_TAB_LIST) {
gboolean is_selected = STATE_SET_CONTAINS(rm->states, ATSPI_STATE_SELECTED);
}
case ATSPI_ROLE_PAGE_TAB: {
AtspiAccessible *parent = rm->parent;
- if (!parent) break;
+ if (!parent || is_legacy_toolkit(rm->self)) break;
+
AtspiRole parent_role = rm->parent_role;
if (parent_role == ATSPI_ROLE_PAGE_TAB_LIST) {
int children_count = rm->parent_child_count;
return _object_has_state(obj, ATSPI_STATE_HIGHLIGHTED);
}
+Eina_Bool is_legacy_toolkit(AtspiAccessible *obj) {
+ Eina_Bool ret = EINA_FALSE;
+ AtspiAccessible *app = atspi_accessible_get_application(obj, NULL);
+ if (app) {
+ gchar* toolkit_name = atspi_accessible_get_toolkit_name(app, NULL);
+ if (toolkit_name) {
+ if (g_str_equal(toolkit_name, "elementary")) {
+ ret = EINA_TRUE;
+ }
+ g_free(toolkit_name);
+ }
+ g_object_unref(app);
+ }
+ DEBUG("is_legacy_toolkit=%d", ret);
+ return ret;
+}
+
int get_percent_value(double value, double lower, double upper)
{
double add_for_rounding = 0.5f;