fix crash for jira issues
authorSeongjun Yim <se201.yim@samsung.com>
Mon, 18 Mar 2013 12:37:43 +0000 (21:37 +0900)
committerSeongjun Yim <se201.yim@samsung.com>
Mon, 18 Mar 2013 12:42:53 +0000 (21:42 +0900)
Change-Id: Ib60471f75d384cbc831ff8b231fddff1d1ffce1f
Signed-off-by: Seongjun Yim <se201.yim@samsung.com>
src/controls/FWebCtrl_GestureState.cpp
src/controls/FWebCtrl_Web.cpp
src/controls/FWebCtrl_WebImpl.cpp

index 593d724..b0b9924 100755 (executable)
@@ -162,17 +162,20 @@ _TapGestureState::OnTouchPressed(const _Control& source, const _TouchInfo& touch
 bool
 _TapGestureState::OnTouchMoved(const _Control& source, const _TouchInfo& touchInfo)
 {
-       const Ewk_View_Smart_Data* pSmartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get( __pWebCore->GetWebNativeNode()));
-       SysAssertf(pSmartData, "Failed to get webkit smart data.");
+       if (__pWebCore->GetWebSettingImpl()->IsScrollEnabled())
+       {
+               const Ewk_View_Smart_Data* pSmartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get( __pWebCore->GetWebNativeNode()));
+               SysAssertf(pSmartData, "Failed to get webkit smart data.");
 
-       Ewk_Event_Gesture gestureEvent;
+               Ewk_Event_Gesture gestureEvent;
 
-       Point absPoint(_CoordinateSystemUtils::ConvertToInteger(__pWebCore->GetAbsoluteCoordinate(touchInfo.GetCurrentPosition())));
+               Point absPoint(_CoordinateSystemUtils::ConvertToInteger(__pWebCore->GetAbsoluteCoordinate(touchInfo.GetCurrentPosition())));
 
-       SetGestureEvent(gestureEvent, EWK_GESTURE_PAN, absPoint, Point(0, 0), 0, 0);
-       pSmartData->api->gesture_start(const_cast<Ewk_View_Smart_Data*>(pSmartData), &gestureEvent);
+               SetGestureEvent(gestureEvent, EWK_GESTURE_PAN, absPoint, Point(0, 0), 0, 0);
+               pSmartData->api->gesture_start(const_cast<Ewk_View_Smart_Data*>(pSmartData), &gestureEvent);
 
-       __pWebCore->ChangeGesture(WEB_GESTURE_TYPE_PANNING);
+               __pWebCore->ChangeGesture(WEB_GESTURE_TYPE_PANNING);
+       }
 
        return true;
 }
index 43d220b..1a3eca8 100755 (executable)
@@ -363,7 +363,7 @@ _Web::GetRelativeCoordinate(FloatPoint absolutePoint)
 Evas_Object*
 _Web::GetWebNativeNode(void)
 {
-       SysTryReturn(NID_WEB_CTRL, __pEflWebkit, null, E_INVALID_STATE, "[%s] Native node is in an invalid state.", GetErrorMessage(E_INVALID_STATE));
+       SysTryReturn(NID_WEB_CTRL, __pEflWebkit.get(), null, E_INVALID_STATE, "[%s] Native node is in an invalid state.", GetErrorMessage(E_INVALID_STATE));
 
        return __pEflWebkit->GetWebEvasObject();
 }
@@ -386,7 +386,7 @@ _Web::GetWebSettingImpl(void) const
 result
 _Web::OnAttaching(const _Control* pParent)
 {
-       if (__pEflWebkit)
+       if (__pEflWebkit.get())
        {
                evas_object_show(__pEflWebkit->GetWebEvasObject());
                evas_object_focus_set(__pEflWebkit->GetWebEvasObject(), EINA_TRUE);
@@ -404,7 +404,7 @@ _Web::OnBoundsChanging(const Rectangle& bounds)
        _ICoordinateSystemTransformer* pXformer = _CoordinateSystem::GetInstance()->GetTransformer();
        SysTryReturnResult(NID_WEB_CTRL, pXformer, E_SYSTEM, "[%s] A system error has been occurred. Failed to get coordinate transformer.", GetErrorMessage(E_SYSTEM));
 
-       if (__pEflWebkit)
+       if (__pEflWebkit.get())
        {
                evas_object_move(__pEflWebkit->GetWebEvasObject(), pXformer->TransformHorizontal(absoluteBounds.x - webBounds.x + bounds.x), pXformer->TransformVertical(absoluteBounds.y - webBounds.y + bounds.y));
                evas_object_resize(__pEflWebkit->GetWebEvasObject(), pXformer->TransformHorizontal(bounds.width), pXformer->TransformVertical(bounds.height));
@@ -448,9 +448,12 @@ _Web::ChangeGesture(_WebGestureType type)
 bool
 _Web::OnTouchPressed(const _Control& source, const _TouchInfo& touchInfo)
 {
-       SendTouchEventForJavaScript(touchInfo);
+       if (__pEflWebkit.get())
+       {
+               SendTouchEventForJavaScript(touchInfo);
 
-       __pGestureHandler->OnTouchPressed(source, touchInfo);
+               __pGestureHandler->OnTouchPressed(source, touchInfo);
+       }
 
        return true;
 }
@@ -459,9 +462,12 @@ _Web::OnTouchPressed(const _Control& source, const _TouchInfo& touchInfo)
 bool
 _Web::OnTouchMoved(const _Control& source, const _TouchInfo& touchInfo)
 {
-       SendTouchEventForJavaScript(touchInfo);
+       if (__pEflWebkit.get())
+       {
+               SendTouchEventForJavaScript(touchInfo);
 
-       __pGestureHandler->OnTouchMoved(source, touchInfo);
+               __pGestureHandler->OnTouchMoved(source, touchInfo);
+       }
 
        return true;
 }
@@ -470,16 +476,18 @@ _Web::OnTouchMoved(const _Control& source, const _TouchInfo& touchInfo)
 bool
 _Web::OnTouchReleased(const _Control& source, const _TouchInfo& touchInfo)
 {
-       SendTouchEventForJavaScript(touchInfo);
+       if (__pEflWebkit.get())
+       {
+               SendTouchEventForJavaScript(touchInfo);
 
-       __pGestureHandler->OnTouchReleased(source, touchInfo);
+               __pGestureHandler->OnTouchReleased(source, touchInfo);
 
-       _WebImpl* pWebImpl = reinterpret_cast<_WebImpl*>(evas_object_data_get(GetWebNativeNode(), WEB_CTRL));
-       SysAssertf(pWebImpl, "Failed to get Impl");
+               _WebImpl* pWebImpl = reinterpret_cast<_WebImpl*>(evas_object_data_get(GetWebNativeNode(), WEB_CTRL));
 
-       if (pWebImpl->GetLoadingListener() && pWebImpl->GetTextFromBlock().GetLength() > 0)
-       {
-               pWebImpl->FireWebPageBlockSelectedEvent();
+               if (pWebImpl && pWebImpl->GetLoadingListener() && pWebImpl->GetTextFromBlock().GetLength() > 0)
+               {
+                       pWebImpl->FireWebPageBlockSelectedEvent();
+               }
        }
 
        SetFocused();
@@ -490,9 +498,12 @@ _Web::OnTouchReleased(const _Control& source, const _TouchInfo& touchInfo)
 bool
 _Web::OnTouchCanceled(const _Control& source, const _TouchInfo& touchInfo)
 {
-       SendTouchEventForJavaScript(touchInfo);
+       if (__pEflWebkit.get())
+       {
+               SendTouchEventForJavaScript(touchInfo);
 
-       __pGestureHandler->OnTouchCanceled(source, touchInfo);
+               __pGestureHandler->OnTouchCanceled(source, touchInfo);
+       }
 
        return true;
 }
@@ -501,7 +512,7 @@ _Web::OnTouchCanceled(const _Control& source, const _TouchInfo& touchInfo)
 bool
 _Web::OnFlickGestureDetected(_TouchFlickGestureDetector& gesture)
 {
-       if (__pWebSettingImpl->IsScrollEnabled())
+       if (__pEflWebkit.get() && __pWebSettingImpl->IsScrollEnabled())
        {
                ChangeGesture(WEB_GESTURE_TYPE_FLICK);
                static_cast< _FlickGestureState* >(__pGestureHandler)->OnFlickGestureDetected(gesture);
@@ -521,10 +532,13 @@ _Web::OnFlickGestureCanceled(_TouchFlickGestureDetector& gesture)
 bool
 _Web::OnLongPressGestureDetected(_TouchLongPressGestureDetector& gesture)
 {
-       _TapGestureState* pTapGestureHandler = dynamic_cast< _TapGestureState* >(__pGestureHandler);
-       if (pTapGestureHandler)
+       if (__pEflWebkit.get())
        {
-               pTapGestureHandler->OnLongPressGestureDetected(gesture);
+               _TapGestureState* pTapGestureHandler = dynamic_cast< _TapGestureState* >(__pGestureHandler);
+               if (pTapGestureHandler)
+               {
+                       pTapGestureHandler->OnLongPressGestureDetected(gesture);
+               }
        }
 
        return true;
@@ -541,7 +555,10 @@ _Web::OnLongPressGestureCanceled(_TouchLongPressGestureDetector& gesture)
 bool
 _Web::OnTapGestureDetected(_TouchTapGestureDetector& gesture)
 {
-       ChangeGesture(WEB_GESTURE_TYPE_DOUBLE_TAP);
+       if (__pEflWebkit.get())
+       {
+               ChangeGesture(WEB_GESTURE_TYPE_DOUBLE_TAP);
+       }
 
        return true;
 }
index aa75d06..e2a5b55 100755 (executable)
@@ -3093,88 +3093,89 @@ void
 _WebImpl::SetEventListenerCallback(void) const
 {
        Evas_Object* pWebNativeNode = __pWebCore->GetWebNativeNode();
-       SysAssertf(pWebNativeNode, "Failed to get Web evas object");
+       if (pWebNativeNode)
+       {
+               _EcoreEvas* pEcoreEvas = GetEcoreEvasMgr()->GetEcoreEvas();
+               SysAssertf(pEcoreEvas, "Failed to get Ui ecore evas");
 
-       _EcoreEvas* pEcoreEvas = GetEcoreEvasMgr()->GetEcoreEvas();
-       SysAssertf(pEcoreEvas, "Failed to get Ui ecore evas");
+               Evas_Object* pWinObject = pEcoreEvas->GetWindowObject();
+               SysAssertf(pWinObject, "Failed to get Ui window evas object");
 
-       Evas_Object* pWinObject = pEcoreEvas->GetWindowObject();
-       SysAssertf(pWinObject, "Failed to get Ui window evas object");
+               Ewk_View_Smart_Data* pSmartData = (Ewk_View_Smart_Data*) evas_object_smart_data_get(pWebNativeNode);
+               SysAssertf(pSmartData, "Failed to request");
 
-       Ewk_View_Smart_Data* pSmartData = (Ewk_View_Smart_Data*) evas_object_smart_data_get(pWebNativeNode);
-       SysAssertf(pSmartData, "Failed to request");
+               Ewk_View_Smart_Class *pSmart = const_cast<Ewk_View_Smart_Class*>(pSmartData->api);
+               SysAssertf(pSmart, "Failed to request");
 
-       Ewk_View_Smart_Class *pSmart = const_cast<Ewk_View_Smart_Class*>(pSmartData->api);
-       SysAssertf(pSmart, "Failed to request");
+               pSmart->popup_menu_show = OnSelectBoxRequested;
+               pSmart->popup_menu_hide = OnSelectBoxClosed;
+               pSmart->popup_menu_update = OnSelectBoxUpdateRequested;
 
-       pSmart->popup_menu_show = OnSelectBoxRequested;
-       pSmart->popup_menu_hide = OnSelectBoxClosed;
-       pSmart->popup_menu_update = OnSelectBoxUpdateRequested;
+               pSmart->input_picker_show = OnDatePickerProviderRequested;
+               pSmart->input_picker_color_request = OnColorPickerProviderRequested;
+               pSmart->input_picker_color_dismiss = OnColorPickerProviderDismissed;
 
-       pSmart->input_picker_show = OnDatePickerProviderRequested;
-       pSmart->input_picker_color_request = OnColorPickerProviderRequested;
-       pSmart->input_picker_color_dismiss = OnColorPickerProviderDismissed;
+               evas_object_data_set(pWebNativeNode, WEB_CTRL, this);
 
-       evas_object_data_set(pWebNativeNode, WEB_CTRL, this);
+               // add loading event callbacks for ILoadingListener
+               evas_object_smart_callback_add(pWebNativeNode, "create,window", OnWebWindowCreateRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "close,window", OnWebWindowClosedRequested, this);
 
-       // add loading event callbacks for ILoadingListener
-       evas_object_smart_callback_add(pWebNativeNode, "create,window", OnWebWindowCreateRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "close,window", OnWebWindowClosedRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "policy,navigation,decide", OnLoadingRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "load,started", OnLoadingStarted, this);
+               evas_object_smart_callback_add(pWebNativeNode, "load,finished", OnLoadingCompleted, this);
+               evas_object_smart_callback_add(pWebNativeNode, "load,progress", OnEstimatedProgress, this);
+               evas_object_smart_callback_add(pWebNativeNode, "load,progress,finished", OnProgressCompleted, this);
+               evas_object_smart_callback_add(pWebNativeNode, "load,stop", OnLoadingCanceled, this);
+               evas_object_smart_callback_add(pWebNativeNode, "load,error", OnLoadingErrorOccurred, this);
+               evas_object_smart_callback_add(pWebNativeNode, "title,changed", OnPageTitleReceived, this);
+               evas_object_smart_callback_add(pWebNativeNode, "load,committed", OnLoadingCommitted, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "policy,navigation,decide", OnLoadingRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "load,started", OnLoadingStarted, this);
-       evas_object_smart_callback_add(pWebNativeNode, "load,finished", OnLoadingCompleted, this);
-       evas_object_smart_callback_add(pWebNativeNode, "load,progress", OnEstimatedProgress, this);
-       evas_object_smart_callback_add(pWebNativeNode, "load,progress,finished", OnProgressCompleted, this);
-       evas_object_smart_callback_add(pWebNativeNode, "load,stop", OnLoadingCanceled, this);
-       evas_object_smart_callback_add(pWebNativeNode, "load,error", OnLoadingErrorOccurred, this);
-       evas_object_smart_callback_add(pWebNativeNode, "title,changed", OnPageTitleReceived, this);
-       evas_object_smart_callback_add(pWebNativeNode, "load,committed", OnLoadingCommitted, this);
+               evas_object_smart_callback_add(pWebNativeNode, "requestToNative,json", OnHandleJavaScriptRequest, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "requestToNative,json", OnHandleJavaScriptRequest, this);
+               evas_object_smart_callback_add(pWinObject, "focus,in", OnWindowObjectFocusGained, this);
 
-       evas_object_smart_callback_add(pWinObject, "focus,in", OnWindowObjectFocusGained, this);
+               evas_object_smart_callback_add(pWebNativeNode, "inputmethod,changed", OnWebKeypadStateChanged, this);
+               evas_object_smart_callback_add(pWebNativeNode, "editorclient,ime,opened", OnWebKeypadOpened, this);
+               evas_object_smart_callback_add(pWebNativeNode, "editorclient,ime,closed", OnWebKeypadClosed, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "inputmethod,changed", OnWebKeypadStateChanged, this);
-       evas_object_smart_callback_add(pWebNativeNode, "editorclient,ime,opened", OnWebKeypadOpened, this);
-       evas_object_smart_callback_add(pWebNativeNode, "editorclient,ime,closed", OnWebKeypadClosed, this);
+               evas_object_smart_callback_add(pWebNativeNode, "authentication,challenge", OnHttpAuthenticationRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "authentication,canceled", OnHttpAuthenticationCanceled, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "authentication,challenge", OnHttpAuthenticationRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "authentication,canceled", OnHttpAuthenticationCanceled, this);
+               evas_object_smart_callback_add(pWebNativeNode, "geolocation,permission,request", OnGeolocationPermissionRequested, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "geolocation,permission,request", OnGeolocationPermissionRequested, this);
+               ewk_view_javascript_alert_callback_set(pWebNativeNode, OnScriptAlertRequested, const_cast< _WebImpl* >(this));
+               ewk_view_javascript_prompt_callback_set(pWebNativeNode, OnScriptPromptRequested, const_cast< _WebImpl* >(this));
+               ewk_view_javascript_confirm_callback_set(pWebNativeNode, OnScriptConfirmRequested, const_cast< _WebImpl* >(this));
 
-       ewk_view_javascript_alert_callback_set(pWebNativeNode, OnScriptAlertRequested, const_cast< _WebImpl* >(this));
-       ewk_view_javascript_prompt_callback_set(pWebNativeNode, OnScriptPromptRequested, const_cast< _WebImpl* >(this));
-       ewk_view_javascript_confirm_callback_set(pWebNativeNode, OnScriptConfirmRequested, const_cast< _WebImpl* >(this));
+               evas_object_smart_callback_add(pWebNativeNode, "policy,response,decide", OnWebDataReceived, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "policy,response,decide", OnWebDataReceived, this);
+               evas_object_smart_callback_add(pWebNativeNode, "load,nonemptylayout,finished", OnWebPageShowRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "request,certificate,confirm", OnCertificateRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "usermedia,permission,request", OnGetUserMediaPermissionRequsted, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "load,nonemptylayout,finished", OnWebPageShowRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "request,certificate,confirm", OnCertificateRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "usermedia,permission,request", OnGetUserMediaPermissionRequsted, this);
+               evas_object_smart_callback_add(pWebNativeNode, "notification,permission,request", OnNotificationPermissionRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "notification,show", OnNotificationShow, this);
+               evas_object_smart_callback_add(pWebNativeNode, "notification,cancel", OnNotificationCancel, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "notification,permission,request", OnNotificationPermissionRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "notification,show", OnNotificationShow, this);
-       evas_object_smart_callback_add(pWebNativeNode, "notification,cancel", OnNotificationCancel, this);
+               evas_object_smart_callback_add(pWebNativeNode, "protocolhandler,registration,requested", OnProtocolHandlerRegistrationRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "protocolhandler,isregistered", OnIsProtocolHandlerRegistered, this);
+               evas_object_smart_callback_add(pWebNativeNode, "protocolhandler,unregistration,requested", OnProtocolHandlerUnregistrationRequested, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "protocolhandler,registration,requested", OnProtocolHandlerRegistrationRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "protocolhandler,isregistered", OnIsProtocolHandlerRegistered, this);
-       evas_object_smart_callback_add(pWebNativeNode, "protocolhandler,unregistration,requested", OnProtocolHandlerUnregistrationRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "contenthandler,registration,requested", OnContentHandlerRegistrationRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "contenthandler,isregistered", OnIsContentHandlerRegistered, this);
+               evas_object_smart_callback_add(pWebNativeNode, "contenthandler,unregistration,requested", OnContentHandlerUnregistrationRequested, this);
+               evas_object_smart_callback_add(pWebNativeNode, "text,found", OnTextFound, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "contenthandler,registration,requested", OnContentHandlerRegistrationRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "contenthandler,isregistered", OnIsContentHandlerRegistered, this);
-       evas_object_smart_callback_add(pWebNativeNode, "contenthandler,unregistration,requested", OnContentHandlerUnregistrationRequested, this);
-       evas_object_smart_callback_add(pWebNativeNode, "text,found", OnTextFound, this);
+               evas_object_smart_callback_add(pWebNativeNode, "touchmove,handled", OnWebPreventDefaultTriggered, this);
 
-       evas_object_smart_callback_add(pWebNativeNode, "touchmove,handled", OnWebPreventDefaultTriggered, this);
-
-       Ewk_Context* pContext = ewk_view_context_get(pWebNativeNode);
-       SysAssertf(pContext, "Failed to get webkit instance.");
-       ewk_context_did_start_download_callback_set(pContext, OnDidStartDownloadCallback, const_cast< _WebImpl* >(this));
-       ewk_view_open_panel_callback_set(pWebNativeNode, OnSelectUploadFile, const_cast< _WebImpl* >(this));
+               Ewk_Context* pContext = ewk_view_context_get(pWebNativeNode);
+               SysAssertf(pContext, "Failed to get webkit instance.");
+               ewk_context_did_start_download_callback_set(pContext, OnDidStartDownloadCallback, const_cast< _WebImpl* >(this));
+               ewk_view_open_panel_callback_set(pWebNativeNode, OnSelectUploadFile, const_cast< _WebImpl* >(this));
 
-       evas_object_event_callback_add(pWebNativeNode, EVAS_CALLBACK_FOCUS_IN, OnWebNativeNodeFocusGained, this);
+               evas_object_event_callback_add(pWebNativeNode, EVAS_CALLBACK_FOCUS_IN, OnWebNativeNodeFocusGained, this);
+       }
 }
 
 
@@ -3182,67 +3183,68 @@ void
 _WebImpl::RemoveEventListenerCallback(void) const
 {
        Evas_Object* pWebNativeNode = __pWebCore->GetWebNativeNode();
-       SysTryReturnVoidResult(NID_WEB_CTRL, pWebNativeNode, E_SYSTEM, "[%s] Failed to get Web evas object.", GetErrorMessage(E_SYSTEM));
-
-       _EcoreEvas* pEcoreEvas = GetEcoreEvasMgr()->GetEcoreEvas();
-       SysAssertf(pEcoreEvas, "Failed to get Ui ecore evas");
+       if (pWebNativeNode)
+       {
+               _EcoreEvas* pEcoreEvas = GetEcoreEvasMgr()->GetEcoreEvas();
+               SysAssertf(pEcoreEvas, "Failed to get Ui ecore evas");
 
-       Evas_Object* pWinObject = pEcoreEvas->GetWindowObject();
-       SysAssertf(pWinObject, "Failed to get Ui window evas object");
+               Evas_Object* pWinObject = pEcoreEvas->GetWindowObject();
+               SysAssertf(pWinObject, "Failed to get Ui window evas object");
 
-       evas_object_smart_callback_del(pWebNativeNode, "create,window", OnWebWindowCreateRequested);
-       evas_object_smart_callback_del(pWebNativeNode, "close,window", OnWebWindowClosedRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "create,window", OnWebWindowCreateRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "close,window", OnWebWindowClosedRequested);
 
-       evas_object_smart_callback_del(pWebNativeNode, "policy,navigation,decide", OnLoadingRequested);
-       evas_object_smart_callback_del(pWebNativeNode, "load,started", OnLoadingStarted);
-       evas_object_smart_callback_del(pWebNativeNode, "load,finished", OnLoadingCompleted);
-       evas_object_smart_callback_del(pWebNativeNode, "load,progress", OnEstimatedProgress);
-       evas_object_smart_callback_del(pWebNativeNode, "load,progress,finished", OnProgressCompleted);
-       evas_object_smart_callback_del(pWebNativeNode, "load,stop", OnLoadingCanceled);
-       evas_object_smart_callback_del(pWebNativeNode, "load,error", OnLoadingErrorOccurred);
-       evas_object_smart_callback_del(pWebNativeNode, "title,changed", OnPageTitleReceived);
+               evas_object_smart_callback_del(pWebNativeNode, "policy,navigation,decide", OnLoadingRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "load,started", OnLoadingStarted);
+               evas_object_smart_callback_del(pWebNativeNode, "load,finished", OnLoadingCompleted);
+               evas_object_smart_callback_del(pWebNativeNode, "load,progress", OnEstimatedProgress);
+               evas_object_smart_callback_del(pWebNativeNode, "load,progress,finished", OnProgressCompleted);
+               evas_object_smart_callback_del(pWebNativeNode, "load,stop", OnLoadingCanceled);
+               evas_object_smart_callback_del(pWebNativeNode, "load,error", OnLoadingErrorOccurred);
+               evas_object_smart_callback_del(pWebNativeNode, "title,changed", OnPageTitleReceived);
 
-       evas_object_smart_callback_del(pWebNativeNode, "requestToNative,json", OnHandleJavaScriptRequest);
+               evas_object_smart_callback_del(pWebNativeNode, "requestToNative,json", OnHandleJavaScriptRequest);
 
-       evas_object_smart_callback_del(pWinObject, "focus,in", OnWindowObjectFocusGained);
+               evas_object_smart_callback_del(pWinObject, "focus,in", OnWindowObjectFocusGained);
 
-       evas_object_smart_callback_del(pWebNativeNode, "inputmethod,changed", OnWebKeypadStateChanged);
-       evas_object_smart_callback_del(pWebNativeNode, "editorclient,ime,opened", OnWebKeypadOpened);
-       evas_object_smart_callback_del(pWebNativeNode, "editorclient,ime,closed", OnWebKeypadClosed);
+               evas_object_smart_callback_del(pWebNativeNode, "inputmethod,changed", OnWebKeypadStateChanged);
+               evas_object_smart_callback_del(pWebNativeNode, "editorclient,ime,opened", OnWebKeypadOpened);
+               evas_object_smart_callback_del(pWebNativeNode, "editorclient,ime,closed", OnWebKeypadClosed);
 
-       evas_object_smart_callback_del(pWebNativeNode, "authentication,challenge", OnHttpAuthenticationRequested);
-       evas_object_smart_callback_del(pWebNativeNode, "authentication,canceled", OnHttpAuthenticationCanceled);
+               evas_object_smart_callback_del(pWebNativeNode, "authentication,challenge", OnHttpAuthenticationRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "authentication,canceled", OnHttpAuthenticationCanceled);
 
-       evas_object_smart_callback_del(pWebNativeNode, "geolocation,permission,request", OnGeolocationPermissionRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "geolocation,permission,request", OnGeolocationPermissionRequested);
 
-       ewk_view_javascript_alert_callback_set(null, null, null);
-       ewk_view_javascript_prompt_callback_set(null, null, null);
-       ewk_view_javascript_confirm_callback_set(null, null, null);
+               ewk_view_javascript_alert_callback_set(null, null, null);
+               ewk_view_javascript_prompt_callback_set(null, null, null);
+               ewk_view_javascript_confirm_callback_set(null, null, null);
 
-       evas_object_smart_callback_del(pWebNativeNode, "policy,response,decide", OnWebDataReceived);
+               evas_object_smart_callback_del(pWebNativeNode, "policy,response,decide", OnWebDataReceived);
 
-       evas_object_smart_callback_del(pWebNativeNode, "load,nonemptylayout,finished", OnWebPageShowRequested);
-       evas_object_smart_callback_del(pWebNativeNode, "request,certificate,confirm", OnCertificateRequested);
-       evas_object_smart_callback_del(pWebNativeNode, "usermedia,permission,request", OnGetUserMediaPermissionRequsted);
+               evas_object_smart_callback_del(pWebNativeNode, "load,nonemptylayout,finished", OnWebPageShowRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "request,certificate,confirm", OnCertificateRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "usermedia,permission,request", OnGetUserMediaPermissionRequsted);
 
-       evas_object_smart_callback_del(pWebNativeNode, "notification,permission,request", OnNotificationPermissionRequested);
-       evas_object_smart_callback_del(pWebNativeNode, "notification,show", OnNotificationShow);
-       evas_object_smart_callback_del(pWebNativeNode, "notification,cancel", OnNotificationCancel);
-       evas_object_smart_callback_del(pWebNativeNode, "protocolhandler,registration,requested", OnProtocolHandlerRegistrationRequested);
-       evas_object_smart_callback_del(pWebNativeNode, "protocolhandler,isregistered", OnIsProtocolHandlerRegistered);
-       evas_object_smart_callback_del(pWebNativeNode, "protocolhandler,unregistration,requested", OnProtocolHandlerUnregistrationRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "notification,permission,request", OnNotificationPermissionRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "notification,show", OnNotificationShow);
+               evas_object_smart_callback_del(pWebNativeNode, "notification,cancel", OnNotificationCancel);
+               evas_object_smart_callback_del(pWebNativeNode, "protocolhandler,registration,requested", OnProtocolHandlerRegistrationRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "protocolhandler,isregistered", OnIsProtocolHandlerRegistered);
+               evas_object_smart_callback_del(pWebNativeNode, "protocolhandler,unregistration,requested", OnProtocolHandlerUnregistrationRequested);
 
-       evas_object_smart_callback_del(pWebNativeNode, "contenthandler,registration,requested", OnContentHandlerRegistrationRequested);
-       evas_object_smart_callback_del(pWebNativeNode, "contenthandler,isregistered", OnIsContentHandlerRegistered);
-       evas_object_smart_callback_del(pWebNativeNode, "contenthandler,unregistration,requested", OnContentHandlerUnregistrationRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "contenthandler,registration,requested", OnContentHandlerRegistrationRequested);
+               evas_object_smart_callback_del(pWebNativeNode, "contenthandler,isregistered", OnIsContentHandlerRegistered);
+               evas_object_smart_callback_del(pWebNativeNode, "contenthandler,unregistration,requested", OnContentHandlerUnregistrationRequested);
 
-       evas_object_smart_callback_del(pWebNativeNode, "text,found", OnTextFound);
+               evas_object_smart_callback_del(pWebNativeNode, "text,found", OnTextFound);
 
-       evas_object_smart_callback_del(pWebNativeNode, "touchmove,handled", OnWebPreventDefaultTriggered);
+               evas_object_smart_callback_del(pWebNativeNode, "touchmove,handled", OnWebPreventDefaultTriggered);
 
-       ewk_view_open_panel_callback_set(null, null, null);
+               ewk_view_open_panel_callback_set(null, null, null);
 
-       evas_object_event_callback_del(pWebNativeNode, EVAS_CALLBACK_FOCUS_IN, OnWebNativeNodeFocusGained);
+               evas_object_event_callback_del(pWebNativeNode, EVAS_CALLBACK_FOCUS_IN, OnWebNativeNodeFocusGained);
+       }
 }