[EFL] Extract CursorMap from WidgetEfl.cpp.
authorryuan.choi@samsung.com <ryuan.choi@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Jun 2012 07:41:19 +0000 (07:41 +0000)
committerryuan.choi@samsung.com <ryuan.choi@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Jun 2012 07:41:19 +0000 (07:41 +0000)
https://bugs.webkit.org/show_bug.cgi?id=88633

Reviewed by Ryosuke Niwa.

In order to share CursorMap in WebKit/efl and UIProcess of WebKit2/Efl,
extract it and expose getEcoreCursor.

No new tests, refactoring only.

* platform/efl/EflScreenUtilities.cpp:
(WebCore):
(CursorMap):
(WebCore::CursorMap::cursor):
(WebCore::CursorMap::CursorMap):
(WebCore::getEcoreCursor):
* platform/efl/EflScreenUtilities.h:
(WebCore):
* platform/efl/WidgetEfl.cpp:
(WebCore::Widget::applyFallbackCursor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@119958 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/efl/EflScreenUtilities.cpp
Source/WebCore/platform/efl/EflScreenUtilities.h
Source/WebCore/platform/efl/WidgetEfl.cpp

index bf1a4c4..515bce4 100644 (file)
@@ -1,3 +1,26 @@
+2012-06-11  Ryuan Choi  <ryuan.choi@samsung.com>
+
+        [EFL] Extract CursorMap from WidgetEfl.cpp.
+        https://bugs.webkit.org/show_bug.cgi?id=88633
+
+        Reviewed by Ryosuke Niwa.
+
+        In order to share CursorMap in WebKit/efl and UIProcess of WebKit2/Efl,
+        extract it and expose getEcoreCursor.
+
+        No new tests, refactoring only.
+
+        * platform/efl/EflScreenUtilities.cpp:
+        (WebCore):
+        (CursorMap):
+        (WebCore::CursorMap::cursor):
+        (WebCore::CursorMap::CursorMap):
+        (WebCore::getEcoreCursor):
+        * platform/efl/EflScreenUtilities.h:
+        (WebCore):
+        * platform/efl/WidgetEfl.cpp:
+        (WebCore::Widget::applyFallbackCursor):
+
 2012-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r119955.
index 12d23ff..7ea7b7e 100644 (file)
 
 #ifdef HAVE_ECORE_X
 #include <Ecore_X.h>
+#include <wtf/HashMap.h>
+#include <wtf/text/StringHash.h>
 #endif
 
 namespace WebCore {
 
+#ifdef HAVE_ECORE_X
+class CursorMap {
+private:
+    HashMap<String, unsigned short> m_cursorStringMap;
+
+public:
+    CursorMap();
+    int cursor(const String&);
+};
+
+int CursorMap::cursor(const String& cursorGroup)
+{
+    int ret = m_cursorStringMap.get(cursorGroup);
+
+    if (ret < ECORE_X_CURSOR_X || ret > ECORE_X_CURSOR_XTERM)
+        ret = ECORE_X_CURSOR_LEFT_PTR;
+
+    return ret;
+}
+
+CursorMap::CursorMap()
+{
+    m_cursorStringMap.set("cursor/pointer", ECORE_X_CURSOR_LEFT_PTR);
+    m_cursorStringMap.set("cursor/move", ECORE_X_CURSOR_FLEUR);
+    m_cursorStringMap.set("cursor/cross", ECORE_X_CURSOR_CROSS);
+    m_cursorStringMap.set("cursor/hand", ECORE_X_CURSOR_HAND2);
+    m_cursorStringMap.set("cursor/i_beam", ECORE_X_CURSOR_XTERM);
+    m_cursorStringMap.set("cursor/wait", ECORE_X_CURSOR_WATCH);
+    m_cursorStringMap.set("cursor/help", ECORE_X_CURSOR_QUESTION_ARROW);
+    m_cursorStringMap.set("cursor/east_resize", ECORE_X_CURSOR_RIGHT_SIDE);
+    m_cursorStringMap.set("cursor/north_resize", ECORE_X_CURSOR_TOP_SIDE);
+    m_cursorStringMap.set("cursor/north_east_resize", ECORE_X_CURSOR_TOP_RIGHT_CORNER);
+    m_cursorStringMap.set("cursor/north_west_resize", ECORE_X_CURSOR_TOP_LEFT_CORNER);
+    m_cursorStringMap.set("cursor/south_resize", ECORE_X_CURSOR_BOTTOM_SIDE);
+    m_cursorStringMap.set("cursor/south_east_resize", ECORE_X_CURSOR_BOTTOM_RIGHT_CORNER);
+    m_cursorStringMap.set("cursor/south_west_resize", ECORE_X_CURSOR_BOTTOM_LEFT_CORNER);
+    m_cursorStringMap.set("cursor/west_resize", ECORE_X_CURSOR_LEFT_SIDE);
+    m_cursorStringMap.set("cursor/north_south_resize", ECORE_X_CURSOR_SB_H_DOUBLE_ARROW);
+    m_cursorStringMap.set("cursor/east_west_resize", ECORE_X_CURSOR_SB_V_DOUBLE_ARROW);
+    m_cursorStringMap.set("cursor/north_east_south_west_resize", ECORE_X_CURSOR_SIZING);
+    m_cursorStringMap.set("cursor/north_west_south_east_resize", ECORE_X_CURSOR_SIZING);
+    m_cursorStringMap.set("cursor/column_resize", ECORE_X_CURSOR_SB_V_DOUBLE_ARROW);
+    m_cursorStringMap.set("cursor/row_resize", ECORE_X_CURSOR_SB_H_DOUBLE_ARROW);
+    m_cursorStringMap.set("cursor/middle_panning",  ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/north_panning", ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/north_east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/north_west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/south_panning", ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/south_east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/south_west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
+    m_cursorStringMap.set("cursor/vertical_text", ECORE_X_CURSOR_SB_DOWN_ARROW);
+    m_cursorStringMap.set("cursor/cell", ECORE_X_CURSOR_ICON);
+    m_cursorStringMap.set("cursor/context_menu", ECORE_X_CURSOR_HAND2);
+    m_cursorStringMap.set("cursor/no_drop", ECORE_X_CURSOR_DOT_BOX_MASK);
+    m_cursorStringMap.set("cursor/copy", ECORE_X_CURSOR_ICON);
+    m_cursorStringMap.set("cursor/progress", ECORE_X_CURSOR_WATCH);
+    m_cursorStringMap.set("cursor/alias", ECORE_X_CURSOR_MAN);
+    m_cursorStringMap.set("cursor/none", ECORE_X_CURSOR_X);
+    m_cursorStringMap.set("cursor/not_allowed", ECORE_X_CURSOR_X);
+    m_cursorStringMap.set("cursor/zoom_in", ECORE_X_CURSOR_DIAMOND_CROSS);
+    m_cursorStringMap.set("cursor/zoom_out", ECORE_X_CURSOR_DIAMOND_CROSS);
+    m_cursorStringMap.set("cursor/grab", ECORE_X_CURSOR_HAND2);
+    m_cursorStringMap.set("cursor/grabbing", ECORE_X_CURSOR_HAND2);
+}
+
+int getEcoreCursor(const String& cursorString)
+{
+    DEFINE_STATIC_LOCAL(CursorMap, cursorStringMap, ());
+
+    return cursorStringMap.cursor(cursorString);
+}
+#endif
+
 int getDPI()
 {
 #ifdef HAVE_ECORE_X
index e92aee2..1445c22 100644 (file)
 #ifndef EflScreenUtilities_h
 #define EflScreenUtilities_h
 
+#include <wtf/text/WTFString.h>
+
 namespace WebCore {
 
+#ifdef HAVE_ECORE_X
+int getEcoreCursor(const String& cursorString);
+#endif
+
 int getDPI();
 
 } // namespace WebCore
index 06414ed..7140d69 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "ChromeClient.h"
 #include "Cursor.h"
+#include "EflScreenUtilities.h"
 #include "Frame.h"
 #include "FrameView.h"
 #include "GraphicsContext.h"
 
 #ifdef HAVE_ECORE_X
 #include <Ecore_X.h>
-#include <Ecore_X_Cursor.h>
 #endif
 
-#include <wtf/HashMap.h>
-#include <wtf/text/CString.h>
-
 namespace WebCore {
 
-#ifdef HAVE_ECORE_X
-class CursorMap {
-private:
-    HashMap<String, unsigned short> m_cursorStringMap;
-
-public:
-    CursorMap();
-    unsigned int cursor(String);
-};
-
-unsigned int CursorMap::cursor(String cursorGroup)
-{
-    int ret = m_cursorStringMap.get(cursorGroup);
-
-    if (ret < ECORE_X_CURSOR_X || ret > ECORE_X_CURSOR_XTERM)
-        ret = ECORE_X_CURSOR_LEFT_PTR;
-
-    return ret;
-}
-
-CursorMap::CursorMap()
-{
-    m_cursorStringMap.set("cursor/pointer", ECORE_X_CURSOR_LEFT_PTR);
-    m_cursorStringMap.set("cursor/move", ECORE_X_CURSOR_FLEUR);
-    m_cursorStringMap.set("cursor/cross", ECORE_X_CURSOR_CROSS);
-    m_cursorStringMap.set("cursor/hand", ECORE_X_CURSOR_HAND2);
-    m_cursorStringMap.set("cursor/i_beam", ECORE_X_CURSOR_XTERM);
-    m_cursorStringMap.set("cursor/wait", ECORE_X_CURSOR_WATCH);
-    m_cursorStringMap.set("cursor/help", ECORE_X_CURSOR_QUESTION_ARROW);
-    m_cursorStringMap.set("cursor/east_resize", ECORE_X_CURSOR_RIGHT_SIDE);
-    m_cursorStringMap.set("cursor/north_resize", ECORE_X_CURSOR_TOP_SIDE);
-    m_cursorStringMap.set("cursor/north_east_resize", ECORE_X_CURSOR_TOP_RIGHT_CORNER);
-    m_cursorStringMap.set("cursor/north_west_resize", ECORE_X_CURSOR_TOP_LEFT_CORNER);
-    m_cursorStringMap.set("cursor/south_resize", ECORE_X_CURSOR_BOTTOM_SIDE);
-    m_cursorStringMap.set("cursor/south_east_resize", ECORE_X_CURSOR_BOTTOM_RIGHT_CORNER);
-    m_cursorStringMap.set("cursor/south_west_resize", ECORE_X_CURSOR_BOTTOM_LEFT_CORNER);
-    m_cursorStringMap.set("cursor/west_resize", ECORE_X_CURSOR_LEFT_SIDE);
-    m_cursorStringMap.set("cursor/north_south_resize", ECORE_X_CURSOR_SB_H_DOUBLE_ARROW);
-    m_cursorStringMap.set("cursor/east_west_resize", ECORE_X_CURSOR_SB_V_DOUBLE_ARROW);
-    m_cursorStringMap.set("cursor/north_east_south_west_resize", ECORE_X_CURSOR_SIZING);
-    m_cursorStringMap.set("cursor/north_west_south_east_resize", ECORE_X_CURSOR_SIZING);
-    m_cursorStringMap.set("cursor/column_resize", ECORE_X_CURSOR_SB_V_DOUBLE_ARROW);
-    m_cursorStringMap.set("cursor/row_resize", ECORE_X_CURSOR_SB_H_DOUBLE_ARROW);
-    m_cursorStringMap.set("cursor/middle_panning",  ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/north_panning", ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/north_east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/north_west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/south_panning", ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/south_east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/south_west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
-    m_cursorStringMap.set("cursor/vertical_text", ECORE_X_CURSOR_SB_DOWN_ARROW);
-    m_cursorStringMap.set("cursor/cell", ECORE_X_CURSOR_ICON);
-    m_cursorStringMap.set("cursor/context_menu", ECORE_X_CURSOR_HAND2);
-    m_cursorStringMap.set("cursor/no_drop", ECORE_X_CURSOR_DOT_BOX_MASK);
-    m_cursorStringMap.set("cursor/copy", ECORE_X_CURSOR_ICON);
-    m_cursorStringMap.set("cursor/progress", ECORE_X_CURSOR_WATCH);
-    m_cursorStringMap.set("cursor/alias", ECORE_X_CURSOR_MAN);
-    m_cursorStringMap.set("cursor/none", ECORE_X_CURSOR_X);
-    m_cursorStringMap.set("cursor/not_allowed", ECORE_X_CURSOR_X);
-    m_cursorStringMap.set("cursor/zoom_in", ECORE_X_CURSOR_DIAMOND_CROSS);
-    m_cursorStringMap.set("cursor/zoom_out", ECORE_X_CURSOR_DIAMOND_CROSS);
-    m_cursorStringMap.set("cursor/grab", ECORE_X_CURSOR_HAND2);
-    m_cursorStringMap.set("cursor/grabbing", ECORE_X_CURSOR_HAND2);
-}
-
-static CursorMap cursorStringMap = CursorMap();
-#endif
-
 class WidgetPrivate {
 public:
     Evas* m_evas;
@@ -209,7 +136,7 @@ void Widget::applyFallbackCursor()
 {
 #ifdef HAVE_ECORE_X
     if (m_data->m_isUsingEcoreX && !m_data->m_cursorGroup.isNull()) {
-        int shape = cursorStringMap.cursor(m_data->m_cursorGroup.utf8().data());
+        int shape = getEcoreCursor(m_data->m_cursorGroup);
 
         if (shape < ECORE_X_CURSOR_X || shape > ECORE_X_CURSOR_XTERM) {
             LOG_ERROR("cannot map an equivalent X cursor for"