libaurum: add set cache mask API for caching AtspiAccessible. 78/272478/1
authorHosang Kim <hosang12.kim@samsung.com>
Thu, 17 Mar 2022 08:52:07 +0000 (17:52 +0900)
committerHosang Kim <hosang12.kim@samsung.com>
Thu, 17 Mar 2022 08:55:39 +0000 (17:55 +0900)
Change-Id: I909731bb8cfbd5bf7ff3dc7984ad85aa705728f9

libaurum/inc/Impl/Accessibility/AtspiWrapper.h
libaurum/src/Impl/Accessibility/AtspiAccessibleWatcher.cc
libaurum/src/Impl/Accessibility/AtspiWrapper.cc

index 5182230..e9bcb8e 100644 (file)
@@ -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;
index 669f26e..396e4b1 100644 (file)
@@ -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");
index fcf94c0..8a81984 100644 (file)
@@ -164,3 +164,9 @@ gboolean AtspiWrapper::Atspi_component_grab_focus(AtspiComponent *obj, GError **
     std::unique_lock<std::recursive_mutex> lock(mMutex);
     return atspi_component_grab_focus(obj, error);
 }
+
+void AtspiWrapper::Atspi_accessible_set_cache_mask(AtspiAccessible *node, AtspiCache mask)
+{
+    std::unique_lock<std::recursive_mutex> lock(mMutex);
+    return atspi_accessible_set_cache_mask (node, mask);
+}