<< "Could not read VCONFKEY_SETAPPL_ACCESSIBILITY_TTS key value.";
return;
}
-#if defined(TIZEN_ATK_FEATURE_VD)
- obj->ToggleBrowserAccessibility(result && !obj->IsDeactivatedByApp());
-#else
- obj->ToggleBrowserAccessibility(result);
-#endif
+
+ obj->ToggleBrowserAccessibility(result, std::nullopt);
}
static void A11yPropertyChangedCb(void* data,
return;
}
- obj->ToggleBrowserAccessibility(result);
+ obj->ToggleBrowserAccessibility(std::nullopt, result);
}
}
/* LCOV_EXCL_STOP */
/* LCOV_EXCL_STOP */
}
- obj->ToggleBrowserAccessibility(is_enabled);
+ obj->ToggleBrowserAccessibility(std::nullopt, is_enabled);
}
EWebAccessibilityUtil* EWebAccessibilityUtil::GetInstance() {
#endif
}
-void EWebAccessibilityUtil::ToggleBrowserAccessibility(bool mode) {
+void EWebAccessibilityUtil::ToggleBrowserAccessibility(
+ std::optional<bool> new_vconf,
+ std::optional<bool> new_dbus) {
content::BrowserAccessibilityStateImpl* state =
content::BrowserAccessibilityStateImpl::GetInstance();
+ if (new_vconf.has_value()) {
+ vconf_a11y_enabled_ = new_vconf.value();
+ }
+
+ if (new_dbus.has_value()) {
+ dbus_a11y_enabled_ = new_dbus.value();
+ }
+
+ LOG(INFO) << "vconf_a11y_enabled_ : " << vconf_a11y_enabled_;
+ LOG(INFO) << "dbus_a11y_enabled_ : " << dbus_a11y_enabled_;
+
+ bool mode = (vconf_a11y_enabled_ || dbus_a11y_enabled_);
+
+#if defined(TIZEN_ATK_FEATURE_VD)
+ if (deactivated_by_app_) {
+ mode = false;
+ }
+#endif
+ if (a11y_enabled_ == mode) {
+ return;
+ }
+
+ a11y_enabled_ = mode;
+
if (mode) {
/* LCOV_EXCL_START */
InitAtkBridgeAdaptor();
return;
}
- if (result)
- ToggleBrowserAccessibility(result && !deactivated_by_app_);
+ ToggleBrowserAccessibility(result, std::nullopt);
}
#endif
return;
/* LCOV_EXCL_STOP */
}
-#if defined(TIZEN_ATK_FEATURE_VD)
- ToggleBrowserAccessibility(result && !IsDeactivatedByApp());
-#else
- ToggleBrowserAccessibility(result);
-#endif
+
+ ToggleBrowserAccessibility(result, std::nullopt);
}
#if defined(ENABLE_WRT_JS)
#define EWEB_ACCESSIBILITY_UTIL_H
#include <Eldbus.h>
+#include <optional>
#include "base/memory/singleton.h"
class EWebAccessibilityUtil {
public:
static EWebAccessibilityUtil* GetInstance();
- void ToggleBrowserAccessibility(bool mode);
+ void ToggleBrowserAccessibility(std::optional<bool> new_vconf,
+ std::optional<bool> new_dbus);
-#if BUILDFLAG(IS_TIZEN_TV)
+#if defined(TIZEN_ATK_FEATURE_VD)
bool IsDeactivatedByApp() const { return deactivated_by_app_; }
void Deactivate(bool deactivated);
#endif
#endif
void ToggleAtk(bool& atk_status);
+ bool dbus_a11y_enabled_ = false;
+ bool vconf_a11y_enabled_ = false;
+ bool a11y_enabled_ = false;
+
private:
EWebAccessibilityUtil();
~EWebAccessibilityUtil();
bool atk_bridge_initialized_ = false;
friend struct base::DefaultSingletonTraits<EWebAccessibilityUtil>;
-#if BUILDFLAG(IS_TIZEN_TV)
+#if defined(TIZEN_ATK_FEATURE_VD)
bool deactivated_by_app_;
#endif