OnFocusIn);
evas_object_event_callback_del(content_image_, EVAS_CALLBACK_FOCUS_OUT,
OnFocusOut);
+ evas_object_smart_callback_del(content_image_elm_host_, "focused",
+ OnHostFocusIn);
+ evas_object_smart_callback_del(content_image_elm_host_, "unfocused",
+ OnHostFocusOut);
evas_event_callback_del_full(evas_, EVAS_CALLBACK_RENDER_FLUSH_PRE,
OnEvasRenderFlushPre, this);
evas_object_del(content_image_);
}
void RWHVAuraOffscreenHelperEfl::Focus(bool focus) {
+ LOG(INFO) << "evas_object_focus_set:" << focus;
elm_object_focus_set(content_image_elm_host_, focus);
evas_object_focus_set(content_image_, focus);
+
+#if BUILDFLAG(IS_TIZEN_TV)
+ // sync focus on efl window
+ aura::WindowTreeHost* window_host = rwhva()->window()->GetHost();
+ if (window_host) {
+ static_cast<aura::WindowTreeHostPlatform*>(window_host)
+ ->platform_window()
+ ->UpdateFocus(focus);
+ }
+#endif
}
bool RWHVAuraOffscreenHelperEfl::HasFocus() {
Evas* evas,
Evas_Object* obj,
void* event_info) {
+ LOG(INFO) << "OnFocusIn";
RWHVAuraOffscreenHelperEfl* thiz =
static_cast<RWHVAuraOffscreenHelperEfl*>(data);
thiz->FocusRWHVA();
Evas* evas,
Evas_Object* obj,
void* event_info) {
+ LOG(INFO) << "OnFocusOut";
RWHVAuraOffscreenHelperEfl* thiz =
static_cast<RWHVAuraOffscreenHelperEfl*>(data);
aura::WindowTreeHost* window_host = thiz->rwhva()->window()->GetHost();
void RWHVAuraOffscreenHelperEfl::OnHostFocusIn(void* data,
Evas_Object*,
void*) {
+ LOG(INFO) << "OnHostFocusIn";
RWHVAuraOffscreenHelperEfl* thiz =
static_cast<RWHVAuraOffscreenHelperEfl*>(data);
thiz->Focus(true);
void RWHVAuraOffscreenHelperEfl::OnHostFocusOut(void* data,
Evas_Object*,
void*) {
+ LOG(INFO) << "OnHostFocusOut";
RWHVAuraOffscreenHelperEfl* thiz =
static_cast<RWHVAuraOffscreenHelperEfl*>(data);
if (thiz && thiz->GetRenderWidgetHostImpl())