Create string tightly when retrive string from cbhm callback event
[framework/web/webkit-efl.git] / Source / WebKit2 / UIProcess / API / efl / ewk_context.cpp
index 9dd674e..ab51c9f 100755 (executable)
 #include <EGL/egl.h>
 #endif
 
+#if ENABLE(TIZEN_HW_MORE_BACK_KEY)
+#include <dlfcn.h>
+void* EflAssistHandle = 0;
+#endif
+
 using namespace WebCore;
 using namespace WebKit;
 
@@ -147,6 +152,11 @@ Ewk_Context::Ewk_Context(WKContextRef context)
     m_formDatabase->open(FormDatabase::defaultDatabaseDirectoryPath(), FormDatabase::defaultDatabaseFilename());
 #endif
 #endif
+
+#if ENABLE(TIZEN_HW_MORE_BACK_KEY)
+    if (!EflAssistHandle)
+        EflAssistHandle = dlopen("/usr/lib/libefl-assist.so.0", RTLD_LAZY);
+#endif
 }
 
 Ewk_Context::~Ewk_Context()
@@ -199,6 +209,9 @@ Ewk_Cookie_Manager* Ewk_Context::cookieManager()
 
 Ewk_Favicon_Database* Ewk_Context::faviconDatabase()
 {
+#if ENABLE(TIZEN_ICON_DATABASE)
+    return 0;
+#endif
     if (!m_faviconDatabase) {
         WKRetainPtr<WKIconDatabaseRef> iconDatabase = WKContextGetIconDatabase(m_context.get());
         // Set the database path if it is not open yet.
@@ -387,18 +400,7 @@ void Ewk_Context::addFormData(const char* url, WKDictionaryRef& formData, bool i
         WKStringRef wkKey = static_cast<WKStringRef>(WKArrayGetItemAtIndex(wkKeys.get(), i));
         WKStringRef wkValue = static_cast<WKStringRef>(WKDictionaryGetItemForKey(formData, wkKey));
 
-        int length = WKStringGetMaximumUTF8CStringSize(wkKey);
-        if (length <= 0)
-            continue;
-        OwnArrayPtr<char> keyBuffer = adoptArrayPtr(new char[length]);
-        WKStringGetUTF8CString(wkKey, keyBuffer.get(), length);
-
-        length = WKStringGetMaximumUTF8CStringSize(wkValue);
-        if (length <= 0)
-            continue;
-        OwnArrayPtr<char> valueBuffer = adoptArrayPtr(new char[length]);
-        WKStringGetUTF8CString(wkValue, valueBuffer.get(), length);
-        formDataVector.append(pair<String, String>(keyBuffer.get(), valueBuffer.get()));
+        formDataVector.append(pair<String, String>(toImpl(wkKey)->string(), toImpl(wkValue)->string()));
     }
 
     m_formDatabase->addFormDataForURL(String::fromUTF8(url), formDataVector, isPasswordForm);
@@ -837,7 +839,6 @@ Eina_Bool ewk_context_application_cache_delete(Ewk_Context* ewkContext, Ewk_Secu
     EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(origin));
     WKRetainPtr<WKStringRef> protocolRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_protocol_get(origin)));
     WKRetainPtr<WKStringRef> hostRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_host_get(origin)));
     WKRetainPtr<WKSecurityOriginRef> securityOriginRef(AdoptWK, WKSecurityOriginCreate(protocolRef.get(), hostRef.get(), ewk_security_origin_port_get(origin)));
@@ -937,7 +938,6 @@ Eina_Bool ewk_context_application_cache_usage_for_origin_get(Ewk_Context* ewkCon
     EINA_SAFETY_ON_NULL_RETURN_VAL(callback, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(origin));
     Ewk_Context_Callback_Context* context = new Ewk_Context_Callback_Context;
     context->webApplicationCacheUsageForOriginCallback = callback;
     context->userData = userData;
@@ -1068,7 +1068,6 @@ Eina_Bool ewk_context_local_file_system_delete(Ewk_Context* ewkContext, Ewk_Secu
     EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(origin));
     WKRetainPtr<WKStringRef> hostRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_host_get(origin)));
     WKRetainPtr<WKStringRef> protocolRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_protocol_get(origin)));
     WKRetainPtr<WKSecurityOriginRef> originRef(AdoptWK, WKSecurityOriginCreate(protocolRef.get(), hostRef.get(), ewk_security_origin_port_get(origin)));
@@ -1114,7 +1113,6 @@ Ewk_Security_Origin* ewk_context_web_database_exceeded_quota_security_origin_get
 #if ENABLE(TIZEN_SQL_DATABASE)
     EINA_SAFETY_ON_NULL_RETURN_VAL(exceededQuota, 0);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(exceededQuota->origin));
     return exceededQuota->origin;
 #else
     return 0;
@@ -1224,7 +1222,6 @@ Eina_Bool ewk_context_web_database_delete(Ewk_Context* ewkContext, Ewk_Security_
     EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(origin));
     WKRetainPtr<WKStringRef> hostRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_host_get(origin)));
     WKRetainPtr<WKStringRef> protocolRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_protocol_get(origin)));
     WKRetainPtr<WKSecurityOriginRef> originRef(AdoptWK, WKSecurityOriginCreate(protocolRef.get(), hostRef.get(), ewk_security_origin_port_get(origin)));
@@ -1298,7 +1295,6 @@ Eina_Bool ewk_context_web_database_quota_for_origin_get(Ewk_Context* ewkContext,
     EINA_SAFETY_ON_NULL_RETURN_VAL(callback, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(origin));
     Ewk_Context_Callback_Context* context = new Ewk_Context_Callback_Context;
     context->webDatabaseQuotaCallback = callback;
     context->userData = userData;
@@ -1335,7 +1331,6 @@ Eina_Bool ewk_context_web_database_quota_for_origin_set(Ewk_Context* ewkContext,
     EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s) quota(%d)", ewk_security_origin_host_get(origin), quota);
     WKRetainPtr<WKStringRef> hostRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_host_get(origin)));
     WKRetainPtr<WKStringRef> protocolRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_protocol_get(origin)));
     WKRetainPtr<WKSecurityOriginRef> originRef(AdoptWK, WKSecurityOriginCreate(protocolRef.get(), hostRef.get(), ewk_security_origin_port_get(origin)));
@@ -1355,7 +1350,6 @@ Eina_Bool ewk_context_web_database_usage_for_origin_get(Ewk_Context* ewkContext,
     EINA_SAFETY_ON_NULL_RETURN_VAL(callback, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(origin));
     Ewk_Context_Callback_Context* context = new Ewk_Context_Callback_Context;
     context->webDatabaseQuotaCallback = callback;
     context->userData = userData;
@@ -1375,20 +1369,7 @@ Eina_Bool ewk_context_web_database_usage_for_origin_get(Ewk_Context* ewkContext,
 Eina_Bool ewk_context_web_indexed_database_delete_all(Ewk_Context* ewkContext)
 {
 #if ENABLE(TIZEN_INDEXED_DATABASE)
-    EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, false);
-
-    TIZEN_LOGI("ewkContext (%p)", ewkContext);
-    DEFINE_STATIC_LOCAL(const String, fileMatchPattern, ("*"));
-    DEFINE_STATIC_LOCAL(const String, indexedDatabaseDirectory, ("/opt/apps/com.samsung.browser/data/.webkit/indexedDatabases"));
-
-    Vector<String> paths = WebCore::listDirectory(indexedDatabaseDirectory, fileMatchPattern);
-    Vector<String>::const_iterator end = paths.end();
-    for(Vector<String>::const_iterator it = paths.begin(); it != end; ++it){
-        String path = *it;
-#if ENABLE(TIZEN_FILE_SYSTEM)
-        WebCore::removeDirectory(path);
-#endif
-    }
+    WKContextDeleteIndexedDatabaseAll(ewkContext->wkContext());
 
     return true;
 #else
@@ -1417,7 +1398,6 @@ Eina_Bool ewk_context_web_storage_origin_delete(Ewk_Context* ewkContext, Ewk_Sec
     EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(origin));
     WKRetainPtr<WKStringRef> hostRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_host_get(origin)));
     WKRetainPtr<WKStringRef> protocolRef(AdoptWK, WKStringCreateWithUTF8CString(ewk_security_origin_protocol_get(origin)));
     WKRetainPtr<WKSecurityOriginRef> securityOriginRef(AdoptWK, WKSecurityOriginCreate(protocolRef.get(), hostRef.get(), ewk_security_origin_port_get(origin)));
@@ -1491,7 +1471,6 @@ Eina_Bool ewk_context_web_storage_usage_for_origin_get(Ewk_Context* ewkContext,
     EINA_SAFETY_ON_NULL_RETURN_VAL(callback, false);
     EINA_SAFETY_ON_NULL_RETURN_VAL(origin, false);
 
-    TIZEN_LOGI("host (%s)", ewk_security_origin_host_get(origin));
     Ewk_Context_Callback_Context* context = new Ewk_Context_Callback_Context;
     context->webStorageUsageCallback = callback;
     context->userData = userData;
@@ -1568,8 +1547,12 @@ Eina_Bool ewk_context_certificate_file_set(Ewk_Context* context, const char* cer
     if (!context->setCertificateFile(certificateFile))
         return true;
 
-    if (!fileExists(WTF::String::fromUTF8(certificateFile)))
-        LOG_ERROR("[Network] ewk_context_certificate_file_set certificateFile does not exist!\n");
+    if (fileExists(WTF::String::fromUTF8(certificateFile))) {
+        long long fileSize = -1;
+        getFileSize(WTF::String::fromUTF8(certificateFile), fileSize);
+        TIZEN_LOGE("[Network] ewk_context_certificate_file_set certificateFile fileSize [%lld]\n", fileSize);
+    } else
+        TIZEN_LOGE("[Network] ewk_context_certificate_file_set certificateFile does not exist!\n");
 
     WKRetainPtr<WKStringRef> certificateFileRef(AdoptWK, WKStringCreateWithUTF8CString(certificateFile));
     WKContextSetCertificateFile(context->wkContext(), certificateFileRef.get());