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 51822304bfa656f1352edc2b41863835c41b50fb..e9bcb8e0112aa8d02d6af7ce4206dedc9d117ba0 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 669f26e1bc7c5ef4a86fccd5b702e1019cbfe595..396e4b113c464d5839ff6fc360ea858cbbb5de5d 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 fcf94c043ba5ff813022ca5462fc791a7a9733c1..8a81984802c5ae3afe502d6f48b144e2d2d2bcc3 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);
+}