Title: [170844] trunk/Source/WebKit2
Revision
170844
Author
commit-qu...@webkit.org
Date
2014-07-07 04:48:00 -0700 (Mon, 07 Jul 2014)

Log Message

[EFL] Fix cursor artifacts on naver map site.
https://bugs.webkit.org/show_bug.cgi?id=134649

Patch by KwangHyuk Kim <hyuki....@samsung.com> on 2014-07-07
Reviewed by Gyuyoung Kim.

Old evas cursor and ecore x cursor are reset before new cursor is applied.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::updateCursor):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (170843 => 170844)


--- trunk/Source/WebKit2/ChangeLog	2014-07-07 09:04:03 UTC (rev 170843)
+++ trunk/Source/WebKit2/ChangeLog	2014-07-07 11:48:00 UTC (rev 170844)
@@ -1,3 +1,15 @@
+2014-07-07  KwangHyuk Kim  <hyuki....@samsung.com>
+
+        [EFL] Fix cursor artifacts on naver map site.
+        https://bugs.webkit.org/show_bug.cgi?id=134649
+
+        Reviewed by Gyuyoung Kim.
+
+        Old evas cursor and ecore x cursor are reset before new cursor is applied.
+
+        * UIProcess/API/efl/EwkView.cpp:
+        (EwkView::updateCursor):
+
 2014-07-06  Benjamin Poulain  <bpoul...@apple.com>
 
         [iOS][WK2] The tap highlight ID is not invalidated when a long press ends

Modified: trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp (170843 => 170844)


--- trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp	2014-07-07 09:04:03 UTC (rev 170843)
+++ trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp	2014-07-07 11:48:00 UTC (rev 170844)
@@ -407,6 +407,10 @@
 void EwkView::updateCursor()
 {
     Ewk_View_Smart_Data* sd = smartData();
+    Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(sd->base.evas);
+    // FIXME : ecore_evas_object_cursor_set doesn't guarantee deletion of cursor image previously set.
+    // Therefore, this patch deletes old cursor image before setting new image explicitly.
+    ecore_evas_object_cursor_set(ecoreEvas, 0, 0, 0, 0);
 
     if (m_useCustomCursor) {
         Image* cursorImage = static_cast<Image*>(m_cursorIdentifier.image);
@@ -425,7 +429,9 @@
         IntPoint hotSpot;
         cursorImage->getHotSpot(hotSpot);
 
-        Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(sd->base.evas);
+#ifdef HAVE_ECORE_X
+        ecore_x_window_cursor_set(getEcoreXWindow(ecoreEvas), 0);
+#endif
         // ecore_evas takes care of freeing the cursor object.
         ecore_evas_object_cursor_set(ecoreEvas, cursorObject.release(), EVAS_LAYER_MAX, hotSpot.x(), hotSpot.y());
         return;
@@ -437,9 +443,7 @@
 
     EflUniquePtr<Evas_Object> cursorObject = EflUniquePtr<Evas_Object>(edje_object_add(sd->base.evas));
 
-    Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(sd->base.evas);
     if (!m_theme || !edje_object_file_set(cursorObject.get(), m_theme, group)) {
-        ecore_evas_object_cursor_set(ecoreEvas, 0, 0, 0, 0);
 #ifdef HAVE_ECORE_X
         WebCore::applyFallbackCursor(ecoreEvas, group);
 #endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to