<< "Could not read VCONFKEY_SETAPPL_ACCESSIBILITY_TTS key value.";
return;
}
+#if BUILDFLAG(IS_TIZEN_TV)
+ obj->ToggleBrowserAccessibility(result && !obj->IsDeactivatedByApp());
+#else
obj->ToggleBrowserAccessibility(result);
+#endif
}
static void A11yPropertyChangedCb(void* data,
return base::Singleton<EWebAccessibilityUtil>::get();
}
-EWebAccessibilityUtil::EWebAccessibilityUtil() {
+EWebAccessibilityUtil::EWebAccessibilityUtil()
+#if BUILDFLAG(IS_TIZEN_TV)
+ : deactivated_by_app_(false)
+#endif
+{
if (getuid() == 0)
return;
}
}
+#if BUILDFLAG(IS_TIZEN_TV)
+void EWebAccessibilityUtil::Deactivate(bool deactivated) {
+ if (deactivated_by_app_ == deactivated)
+ return;
+
+ deactivated_by_app_ = deactivated;
+
+ int result = 0;
+ if (vconf_get_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, &result) != 0) {
+ LOG(ERROR)
+ << "Could not read VCONFKEY_SETAPPL_ACCESSIBILITY_TTS key value.";
+ return;
+ }
+
+ if (result)
+ ToggleBrowserAccessibility(result && !deactivated_by_app_);
+}
+#endif
+
void EWebAccessibilityUtil::ToggleAtk(bool& atk_status) {
if (IsDesktopProfile())
return;
<< "Could not read VCONFKEY_SETAPPL_ACCESSIBILITY_TTS key value.";
return;
}
-
+#if BUILDFLAG(IS_TIZEN_TV)
+ ToggleBrowserAccessibility(result && !IsDeactivatedByApp());
+#else
ToggleBrowserAccessibility(result);
+#endif
}
#if defined(ENABLE_WRT_JS)
static EWebAccessibilityUtil* GetInstance();
void ToggleBrowserAccessibility(bool mode);
+#if BUILDFLAG(IS_TIZEN_TV)
+ bool IsDeactivatedByApp() const { return deactivated_by_app_; }
+ void Deactivate(bool deactivated);
+#endif
+
#if defined(ENABLE_WRT_JS)
void SetEWebAccessibility(EWebAccessibility* eweb_accessibility);
#endif
bool atk_bridge_initialized_ = false;
friend struct base::DefaultSingletonTraits<EWebAccessibilityUtil>;
+#if BUILDFLAG(IS_TIZEN_TV)
+ bool deactivated_by_app_;
+#endif
+
Eldbus_Object* eldbus_obj_ = nullptr;
Eldbus_Connection* eldbus_conn_ = nullptr;
};
rwhva()->offscreen_helper()->DrawLabel(image, rect);
}
+void EWebView::DeactivateAtk(bool deactivated) {
+ EWebAccessibilityUtil::GetInstance()->Deactivate(deactivated);
+}
+
void EWebView::ClearLabels() {
if (rwhva())
rwhva()->offscreen_helper()->ClearLabels();
#if BUILDFLAG(IS_TIZEN_TV)
void DrawLabel(Evas_Object* image, Eina_Rectangle rect);
+ void DeactivateAtk(bool deactivated);
void ClearLabels();
#endif // IS_TIZEN_TV
void ewk_view_atk_deactivation_by_app(Evas_Object* view, Eina_Bool enable)
{
+#if BUILDFLAG(IS_TIZEN_TV)
+ EWK_VIEW_IMPL_GET_OR_RETURN(view, impl);
+ LOG(INFO)<< "ewk_view_atk_deactivation_by_app, enable: " << (bool)enable;
+ impl->DeactivateAtk(enable == EINA_FALSE);
+#else
LOG_EWK_API_MOCKUP();
+#endif
}
char* ewk_view_cookies_get(Evas_Object* o, const char* url)