From: Hosang Kim Date: Thu, 17 Mar 2022 08:52:07 +0000 (+0900) Subject: libaurum: add set cache mask API for caching AtspiAccessible. X-Git-Tag: submit/tizen/20220324.045247~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6f739c67624cefbc1ba8303f6838de7e41aa85e7;p=platform%2Fcore%2Fuifw%2Faurum.git libaurum: add set cache mask API for caching AtspiAccessible. Change-Id: I909731bb8cfbd5bf7ff3dc7984ad85aa705728f9 --- diff --git a/libaurum/inc/Impl/Accessibility/AtspiWrapper.h b/libaurum/inc/Impl/Accessibility/AtspiWrapper.h index 5182230..e9bcb8e 100644 --- a/libaurum/inc/Impl/Accessibility/AtspiWrapper.h +++ b/libaurum/inc/Impl/Accessibility/AtspiWrapper.h @@ -59,6 +59,7 @@ public: static AtspiAccessible *Atspi_accessible_get_application (AtspiAccessible *node, GError **error); static void Atspi_accessible_clear_cache (AtspiAccessible *node); static gboolean Atspi_component_grab_focus(AtspiComponent *obj, GError **error); + static void Atspi_accessible_set_cache_mask(AtspiAccessible *node, AtspiCache mask); private: static std::recursive_mutex mMutex; diff --git a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc index 669f26e..396e4b1 100644 --- a/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc +++ b/libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc @@ -181,6 +181,7 @@ void AtspiAccessibleWatcher::onAtspiEvents(AtspiEvent *event, void *watcher) { pkg = AtspiWrapper::Atspi_accessible_get_name(app, NULL); if (!strncmp(event->type, "window:activate", 15)) { + AtspiWrapper::Atspi_accessible_set_cache_mask(app, ATSPI_CACHE_ALL); LOGI("window activated in app(%s)", pkg); if (!instance->mActiveAppMap.count(app)) { LOGI("add activated window's app in map"); diff --git a/libaurum/src/Impl/Accessibility/AtspiWrapper.cc b/libaurum/src/Impl/Accessibility/AtspiWrapper.cc index fcf94c0..8a81984 100644 --- a/libaurum/src/Impl/Accessibility/AtspiWrapper.cc +++ b/libaurum/src/Impl/Accessibility/AtspiWrapper.cc @@ -164,3 +164,9 @@ gboolean AtspiWrapper::Atspi_component_grab_focus(AtspiComponent *obj, GError ** std::unique_lock lock(mMutex); return atspi_component_grab_focus(obj, error); } + +void AtspiWrapper::Atspi_accessible_set_cache_mask(AtspiAccessible *node, AtspiCache mask) +{ + std::unique_lock lock(mMutex); + return atspi_accessible_set_cache_mask (node, mask); +}