OnMouseMove, this);
evas_object_event_callback_add(content_image_, EVAS_CALLBACK_MOUSE_OUT,
OnMouseOut, this);
+ evas_object_event_callback_add(content_image_, EVAS_CALLBACK_MOUSE_IN,
+ OnMouseIn, this);
evas_object_event_callback_add(content_image_, EVAS_CALLBACK_MOUSE_WHEEL,
OnMouseWheel, this);
evas_object_event_callback_add(content_image_, EVAS_CALLBACK_KEY_DOWN,
OnMouseMove);
evas_object_event_callback_del(content_image_, EVAS_CALLBACK_MOUSE_OUT,
OnMouseOut);
+ evas_object_event_callback_del(content_image_, EVAS_CALLBACK_MOUSE_IN,
+ OnMouseIn);
evas_object_event_callback_del(content_image_, EVAS_CALLBACK_MOUSE_WHEEL,
OnMouseWheel);
evas_object_event_callback_del(content_image_, EVAS_CALLBACK_KEY_DOWN,
rwhv->host_->ForwardMouseEvent(event);
}
+void RenderWidgetHostViewEfl::OnMouseIn(void* data,
+ Evas* evas,
+ Evas_Object* obj,
+ void* event_info) {
+ LOG(INFO) << "OnMouseIn";
+#if defined(OS_TIZEN_TV_PRODUCT)
+ if (content::IsWebBrowser()) {
+ // When rotating on a static page, there is a problem that the screen stops
+ // for about 10 seconds from the second rotation. It seems that the main
+ // thread is blocked during the dequeue process when a screen lock occurs
+ // while performing manual rotation again on a previously used buffer. We
+ // can avoid this problem by forcibly refreshing the screen once more after
+ // manual rotation is complete. In the case of browser, "mouse in" event
+ // is occurred at this timing.
+ RenderWidgetHostViewEfl* rwhv =
+ static_cast<RenderWidgetHostViewEfl*>(data);
+ rwhv->Invalidate(false);
+ }
+#endif
+}
+
void RenderWidgetHostViewEfl::OnMultiTouchDownEvent(void* data,
Evas* evas,
Evas_Object* obj,
OnMouseMove);
evas_object_event_callback_del(content_image_, EVAS_CALLBACK_MOUSE_OUT,
OnMouseOut);
+ evas_object_event_callback_del(content_image_, EVAS_CALLBACK_MOUSE_IN,
+ OnMouseIn);
evas_object_event_callback_del(content_image_, EVAS_CALLBACK_MOUSE_WHEEL,
OnMouseWheel);
if (enable) {
OnMouseMove, this);
evas_object_event_callback_add(content_image_, EVAS_CALLBACK_MOUSE_OUT,
OnMouseOut, this);
+ evas_object_event_callback_add(content_image_, EVAS_CALLBACK_MOUSE_IN,
+ OnMouseIn, this);
evas_object_event_callback_add(content_image_, EVAS_CALLBACK_MOUSE_WHEEL,
OnMouseWheel, this);
}
static void OnMouseUp(void* data, Evas*, Evas_Object*, void*);
static void OnMouseMove(void* data, Evas*, Evas_Object*, void*);
static void OnMouseOut(void* data, Evas*, Evas_Object*, void*);
+ static void OnMouseIn(void* data, Evas*, Evas_Object*, void*);
static void OnMouseWheel(void* data, Evas*, Evas_Object*, void*);
static void OnKeyDown(void*, Evas*, Evas_Object*, void*);
static void OnKeyUp(void*, Evas*, Evas_Object*, void*);