Disable shadow effect on webview scrolling
[platform/framework/web/web-provider.git] / src / Plugin / AppBoxPlugin / AppBoxRenderView.cpp
index 4069f0a..4fb908a 100644 (file)
@@ -25,6 +25,7 @@
 #include <Ecore.h>
 #include <ewk_view.h>
 #include <ewk_context.h>
+#include <ewk_settings.h>
 #include <livebox-service.h>
 #include <i_runnable_widget_object.h>
 #include <core_module.h>
@@ -166,10 +167,8 @@ AppBoxRenderView::WrtCorePtr AppBoxRenderView::createWrtCore(
     cbs->webCrash = DPL::MakeDelegate(this, &AppBoxRenderView::crashWebProcessCallback);
     wrt->SetUserDelegates(cbs);
 
-    // To support transparent background
-    evas_object_color_set(wrt->GetCurrentWebview(), 0, 0, 0, 0);
-    //evas_object_layer_set(wrt->GetCurrentWebview(), EVAS_LAYER_MAX);
-
+    // set basic webview setting
+    setWebViewBasicSetting(wrt->GetCurrentWebview());
     // To know starting point for updating buffer
     evas_object_smart_callback_add(
             wrt->GetCurrentWebview(),
@@ -342,7 +341,6 @@ Evas_Object* AppBoxRenderView::getCurrentSnapShot()
     LogD("enter");
     clearSnapShot();
     m_snapshot = m_renderBuffer->getSnapshot();
-    //evas_object_layer_set(m_snapshot, EVAS_LAYER_MAX);
 
     return m_snapshot;
 }
@@ -351,7 +349,6 @@ void AppBoxRenderView::clearSnapShot()
 {
     LogD("enter");
     if (m_snapshot) {
-        //evas_object_layer_set(m_snapshot, EVAS_LAYER_MIN);
         evas_object_del(m_snapshot);
         m_snapshot = NULL;
     }
@@ -402,6 +399,21 @@ void AppBoxRenderView::stopRenderBox()
     }
 }
 
+void AppBoxRenderView::setWebViewBasicSetting(Evas_Object* webview)
+{
+    LogD("enter");
+
+    if (!webview) {
+        return;
+    }
+    Ewk_Settings* setting = ewk_view_settings_get(webview);
+    // disable shadow effect on scrolling
+    ewk_settings_edge_effect_enabled_set(setting, EINA_FALSE);
+    // To support transparent background
+    evas_object_color_set(webview, 0, 0, 0, 0);
+    ewk_view_visibility_set(webview, EINA_TRUE);
+}
+
 Eina_Bool AppBoxRenderView::fireRenderTimerCallback(void* data)
 {
     LogD("enter");
@@ -485,9 +497,6 @@ void AppBoxRenderView::createWindowAfterCallback(Evas_Object* parent, Evas_Objec
 {
     LogD("enter");
 
-    // To support transparent background
-    evas_object_color_set(child, 0, 0, 0, 0);
-
     if (m_pdHelper) {
         Evas* parentCanvas = evas_object_evas_get(parent);
         Evas* childCanvas = evas_object_evas_get(child);
@@ -501,7 +510,7 @@ void AppBoxRenderView::createWindowAfterCallback(Evas_Object* parent, Evas_Objec
         }
     }
 
-    ewk_view_visibility_set(child, EINA_TRUE);
+    setWebViewBasicSetting(child);
     evas_object_show(child);
 }