treate scheme as lower
authorryuan choi <ryuan.choi@samsung.com>
Thu, 16 Sep 2010 08:44:19 +0000 (17:44 +0900)
committerryuan choi <ryuan.choi@samsung.com>
Thu, 16 Sep 2010 08:44:19 +0000 (17:44 +0900)
src/lib/els_webview.c

index d19c62f..8663406 100644 (file)
@@ -623,10 +623,13 @@ _elm_smart_webview_scheme_callback_set(Evas_Object* obj, const char *scheme, Elm
    if (!sd->scheme_func_hash)
      sd->scheme_func_hash = eina_hash_pointer_new(NULL);
 
+   char *lower_scheme = strdup(scheme);
+   eina_str_tolower(&lower_scheme);
    if (!func)
-     eina_hash_del(sd->scheme_func_hash, scheme, func);
+     eina_hash_del(sd->scheme_func_hash, lower_scheme, func);
    else
-     eina_hash_add(sd->scheme_func_hash, scheme, func);
+     eina_hash_add(sd->scheme_func_hash, lower_scheme, func);
+   free(lower_scheme);
 }
 
 void
@@ -937,8 +940,11 @@ _smart_navigation_policy_decision(Ewk_View_Smart_Data *esd, Ewk_Frame_Resource_R
        else
          {
             *protocol_hack = '\0';
-            func = (Elm_WebView_Mime_Cb) eina_hash_find(sd->scheme_func_hash, request->url);
+            char *scheme = strdup(request->url);
+            eina_str_tolower(&scheme);
+            func = (Elm_WebView_Mime_Cb) eina_hash_find(sd->scheme_func_hash, scheme);
             *protocol_hack = ':';
+            free(scheme);
          }
      }