Bug TT-67 Remove private ewk_view_context_ APIs from browser code 63/43863/4
authork.lis2 <k.lis2@samsung.com>
Tue, 21 Jul 2015 11:54:00 +0000 (13:54 +0200)
committerSungwon Han <sungwon2.han@samsung.com>
Fri, 31 Jul 2015 05:27:08 +0000 (22:27 -0700)
    [Issue#]   https://bugs.tizen.org/jira/browse/TT-67
    [Problem]  ewk_view_context_ APIs persist in the code
    [Cause]    -
    [Solution] Remove the context api calls from the code.
    [Verify]   Perform browser sanity check.

Change-Id: Id92d143ab383a701e7c36c249db5e4937760ac84
Signed-off-by: k.lis2 <k.lis2@samsung.com>
services/SimpleUI/SimpleUI.cpp
services/WebKitEngineService/WebView.cpp
services/WebKitEngineService/WebView.h

index 575502d9a593ee50f59001863931b0d708c047d0..e61b5787e7d31c0f58c49fcf802829803bb59bb1 100644 (file)
@@ -70,7 +70,6 @@ SimpleUI::SimpleUI(/*Evas_Object *window*/)
     , m_wvIMEStatus(false)
 {
     elm_init(static_cast<int>(NULL), static_cast<char**>(NULL));
-    ewk_context_default_get();
     Evas_Object *main_window = elm_win_util_standard_add("browserApp", "browserApp");
     if (main_window == NULL)
         BROWSER_LOGE("Failed to create main window");
index f01aebb137637e0c765f51ae511b0186e7e08c0c..77e23e5a6e83cd0172e080bdab1cc27391476c9f 100644 (file)
@@ -75,13 +75,6 @@ WebView::~WebView()
 void WebView::init(Evas_Object * opener)
 {
 #if defined(USE_EWEBKIT)
-    Ewk_Context *context = ewk_context_default_get();
-    if (context)
-    {
-        ewk_context_cache_model_set(context, EWK_CACHE_MODEL_PRIMARY_WEBBROWSER);
-        ewk_context_certificate_file_set(context, certificate_crt_path);
-    }
-
     m_ewkView = ewk_view_add(evas_object_evas_get(m_parent));
 
     evas_object_data_set(m_ewkView, "_container", this);
@@ -97,20 +90,25 @@ void WebView::init(Evas_Object * opener)
 #if PLATFORM(TIZEN)
     ewk_view_resume(m_ewkView);
 #endif
-#if 0
     // set local storage, favion, cookies
     std::string webkit_path =  boost::any_cast <std::string> (config.get("webkit/dir"));
-//    ewk_context_web_storage_path_set(context, (webkit_path + std::string("/storage")).c_str());
-    ewk_context_favicon_database_directory_set(context, (webkit_path + std::string("/favicon")).c_str());
-    ewk_cookie_manager_persistent_storage_set(ewk_context_cookie_manager_get(context)
-                                             , (webkit_path + std::string("/cookies.db")).c_str()
-                                             , EWK_COOKIE_PERSISTENT_STORAGE_SQLITE);
+
+    if (m_ewkView)
+    {
+        Ewk_Context *context = ewk_view_context_get(m_ewkView);
+        if (context)
+        {
+            ewk_context_cache_model_set(context, EWK_CACHE_MODEL_PRIMARY_WEBBROWSER);
+            ewk_context_favicon_database_directory_set(context, (webkit_path + std::string("/favicon")).c_str());
+            ewk_cookie_manager_persistent_storage_set(ewk_context_cookie_manager_get(context)
+                                                     , (webkit_path + std::string("/cookies.db")).c_str()
+                                                     , EWK_COOKIE_PERSISTENT_STORAGE_SQLITE);
+        }
+    }
 
 ///\note Odroid modification - not exists in WebKit API
 //     ewk_cookie_manager_widget_cookie_directory_set(ewk_context_cookie_manager_get(context), webkit_path.c_str());
 
-    ewk_favicon_database_icon_change_callback_add(ewk_context_favicon_database_get(context), __faviconChanged, this);
-#endif
     setupEwkSettings();
     registerCallbacks();
 #else
@@ -298,11 +296,20 @@ void WebView::setPrivateMode(bool state)
     Ewk_Settings * settings = ewk_page_group_settings_get(ewk_view_page_group_get(m_ewkView));
 #endif
     ewk_settings_private_browsing_enabled_set(settings, state);
-    if(state){
-         ewk_cookie_manager_accept_policy_set(ewk_context_cookie_manager_get(ewk_context_default_get()), EWK_COOKIE_ACCEPT_POLICY_NEVER);
-    }
-    else{
-         ewk_cookie_manager_accept_policy_set(ewk_context_cookie_manager_get(ewk_context_default_get()), EWK_COOKIE_ACCEPT_POLICY_ALWAYS);
+    if (m_ewkView)
+    {
+        Ewk_Context *context = ewk_view_context_get(m_ewkView);
+        if (context)
+        {
+            if(state)
+            {
+                 ewk_cookie_manager_accept_policy_set(ewk_context_cookie_manager_get(context), EWK_COOKIE_ACCEPT_POLICY_NEVER);
+            }
+            else
+            {
+                 ewk_cookie_manager_accept_policy_set(ewk_context_cookie_manager_get(context), EWK_COOKIE_ACCEPT_POLICY_ALWAYS);
+            }
+        }
     }
 #endif
 }
@@ -618,44 +625,8 @@ void WebView::__backForwardListChanged(void * data, Evas_Object * /* obj */, voi
     self->forwardEnableChanged(self->isForwardEnabled());
 }
 
-#if PLATFORM(TIZEN)
-void WebView::__faviconChanged(const char * uri, void * data)
-#else
-void WebView::__faviconChanged(Ewk_Favicon_Database * database, const char * uri, void * data)
-#endif
+void WebView::onFaviconChaged(void*, Evas_Object*, void*)
 {
-    WebView * self = reinterpret_cast<WebView *>(data);
-    BROWSER_LOGD("[%s:%d] \n\turi:%s", __PRETTY_FUNCTION__, __LINE__, uri);
-
-#if PLATFORM(TIZEN)
-    Ewk_Favicon_Database * database = ewk_context_favicon_database_get(ewk_view_context_get(self->m_ewkView));
-#endif
-
-    Evas_Object *favicon = ewk_favicon_database_icon_get(database, uri, evas_object_evas_get(self->m_parent));
-    BROWSER_LOGD("Favicon: %p",favicon);
-    if (favicon) {
-        BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
-        self->faviconImage = tizen_browser::tools::EflTools::getBrowserImage(favicon);
-        evas_object_unref(favicon);
-        BROWSER_LOGD("[%s:%d] Favicon loaded, emiting favIconChanged(...)", __PRETTY_FUNCTION__, __LINE__);
-        self->favIconChanged(self->faviconImage);
-    }
-}
-
-void WebView::onFaviconChaged(void* data, Evas_Object*, void*)
-{
-    WebView* self = reinterpret_cast<WebView*>(data);
-//#if PLATFORM(TIZEN)
-//    Evas_Object * favicon = ewk_view_favicon_get(self->m_ewkView);
-//#else
-    Ewk_Favicon_Database * database = ewk_context_favicon_database_get(ewk_view_context_get(self->m_ewkView));
-    Evas_Object * favicon = ewk_favicon_database_icon_get(database, ewk_view_url_get(self->m_ewkView), evas_object_evas_get(self->m_parent));
-//#endif
-    BROWSER_LOGD("[%s:%d] &favicon: %x ", __PRETTY_FUNCTION__, __LINE__, favicon);
-    if (favicon) {
-        self->favIconChanged(tizen_browser::tools::EflTools::getBrowserImage(favicon));
-        evas_object_unref(favicon);
-    }
 }
 
 void WebView::__IMEClosed(void* data, Evas_Object*, void*)
@@ -870,29 +841,30 @@ std::shared_ptr<tizen_browser::tools::BrowserImage> WebView::getFavicon() {
 #if defined(USE_EWEBKIT)
     if (faviconImage.get() == NULL) {
 
-#if PLATFORM(TIZEN)
-//    Evas_Object * favicon = ewk_view_favicon_get(m_ewkView);
-    Evas_Object * favicon = ewk_context_icon_database_icon_object_add(ewk_view_context_get(m_ewkView), ewk_view_url_get(m_ewkView),evas_object_evas_get(m_ewkView));
-#else
-    Ewk_Favicon_Database * database = ewk_context_favicon_database_get(ewk_view_context_get(m_ewkView));
-    Evas_Object * favicon = ewk_favicon_database_icon_get(database, ewk_view_url_get(m_ewkView), evas_object_evas_get(m_ewkView));
-#endif
+    if (m_ewkView)
+    {
+        Ewk_Context *context = ewk_view_context_get(m_ewkView);
+        if (context)
+        {
+            Evas_Object * favicon = ewk_context_icon_database_icon_object_add(context, ewk_view_url_get(m_ewkView), evas_object_evas_get(m_ewkView));
 
 #ifndef NDEBUG
-        int w = 0, h = 0;
-        evas_object_image_size_get(favicon, &w, &h);
-        BROWSER_LOGD("[%s]: Info about favicon: w:%d h:%d, type: %s", __func__, w, h, evas_object_type_get(favicon));
+                int w = 0, h = 0;
+                evas_object_image_size_get(favicon, &w, &h);
+                BROWSER_LOGD("[%s]: Info about favicon: w:%d h:%d, type: %s", __func__, w, h, evas_object_type_get(favicon));
 #endif
-        if (favicon) {
-            std::shared_ptr<tizen_browser::tools::BrowserImage>
-                image = tizen_browser::tools::EflTools::getBrowserImage(favicon);
+                if (favicon) {
+                    std::shared_ptr<tizen_browser::tools::BrowserImage>
+                        image = tizen_browser::tools::EflTools::getBrowserImage(favicon);
 
-            evas_object_unref(favicon);
+                    evas_object_unref(favicon);
 
-            return image;
+                    return image;
+                }
+            } else {
+                return faviconImage;
+            }
         }
-    } else {
-        return faviconImage;
     }
 #endif
 
@@ -904,9 +876,15 @@ void WebView::clearPrivateData()
 {
     BROWSER_LOGD("Clearing private data");
 #if defined(USE_EWEBKIT)
-    Ewk_Context * context = ewk_context_default_get();
-    ewk_context_web_storage_delete_all(context);
-    ewk_cookie_manager_cookies_clear(ewk_context_cookie_manager_get(context));
+    if (m_ewkView)
+    {
+        Ewk_Context *context = ewk_view_context_get(m_ewkView);
+        if (context)
+        {
+            ewk_context_web_storage_delete_all(context);
+            ewk_cookie_manager_cookies_clear(ewk_context_cookie_manager_get(context));
+        }
+    }
 #endif
 }
 
index 5f7cb9179f2e45e26288e2334e2bcd5044c88d70..b979a088233fef037a456b7e3faebbf646dcf389 100644 (file)
@@ -160,17 +160,8 @@ private:
 
     static void __backForwardListChanged(void * data, Evas_Object * obj, void * event_info);
 
-    // Favicon - from database
-#if defined(USE_EWEBKIT)
-#if PLATFORM(TIZEN)
-    static void __faviconChanged(/* Ewk_Favicon_Database * database, */ const char * uri, void * data);
-#else
-    static void __faviconChanged(Ewk_Favicon_Database * database, const char * uri, void * data);
-#endif
-#endif
-
     //from webkit ewk_view
-    static void onFaviconChaged(void * data, Evas_Object *obj, void *event_info);
+    static void onFaviconChaged(void *, Evas_Object *, void *);
 
     static void __IMEClosed(void * data, Evas_Object *obj, void *event_info);
     static void __IMEOpened(void * data, Evas_Object *obj, void *event_info);