diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp')
| -rw-r--r-- | Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp | 87 |
1 files changed, 59 insertions, 28 deletions
diff --git a/Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp b/Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp index 2425b157d..f1b49b780 100644 --- a/Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp +++ b/Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp @@ -26,14 +26,19 @@ #include "config.h" #include "PageLoadClientEfl.h" +#include "EwkViewImpl.h" +#include "WKAPICast.h" #include "WKFrame.h" #include "WKPage.h" +#include "ewk_auth_request_private.h" #include "ewk_back_forward_list_private.h" #include "ewk_error_private.h" #include "ewk_intent_private.h" #include "ewk_intent_service_private.h" #include "ewk_view.h" +using namespace EwkViewCallbacks; + namespace WebKit { static inline PageLoadClientEfl* toPageLoadClientEfl(const void* clientInfo) @@ -46,32 +51,33 @@ void PageLoadClientEfl::didReceiveTitleForFrame(WKPageRef, WKStringRef title, WK if (!WKFrameIsMainFrame(frame)) return; - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); - ewk_view_title_changed(ewkView, toImpl(title)->string().utf8().data()); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + viewImpl->smartCallback<TitleChange>().call(toImpl(title)->string()); } #if ENABLE(WEB_INTENTS) void PageLoadClientEfl::didReceiveIntentForFrame(WKPageRef, WKFrameRef, WKIntentDataRef intent, WKTypeRef, const void* clientInfo) { - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); RefPtr<Ewk_Intent> ewkIntent = Ewk_Intent::create(intent); - ewk_view_intent_request_new(ewkView, ewkIntent.get()); + viewImpl->smartCallback<IntentRequest>().call(ewkIntent.get()); } #endif #if ENABLE(WEB_INTENTS_TAG) void PageLoadClientEfl::registerIntentServiceForFrame(WKPageRef, WKFrameRef, WKIntentServiceInfoRef serviceInfo, WKTypeRef, const void* clientInfo) { - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); RefPtr<Ewk_Intent_Service> ewkIntentService = Ewk_Intent_Service::create(serviceInfo); - ewk_view_intent_service_register(ewkView, ewkIntentService.get()); + viewImpl->smartCallback<IntentServiceRegistration>().call(ewkIntentService.get()); } #endif void PageLoadClientEfl::didChangeProgress(WKPageRef page, const void* clientInfo) { - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); - ewk_view_load_progress_changed(ewkView, WKPageGetEstimatedProgress(page)); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + double progress = WKPageGetEstimatedProgress(page); + viewImpl->smartCallback<LoadProgress>().call(&progress); } void PageLoadClientEfl::didFinishLoadForFrame(WKPageRef, WKFrameRef frame, WKTypeRef /*userData*/, const void* clientInfo) @@ -79,8 +85,8 @@ void PageLoadClientEfl::didFinishLoadForFrame(WKPageRef, WKFrameRef frame, WKTyp if (!WKFrameIsMainFrame(frame)) return; - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); - ewk_view_load_finished(ewkView); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + viewImpl->smartCallback<LoadFinished>().call(); } void PageLoadClientEfl::didFailLoadWithErrorForFrame(WKPageRef, WKFrameRef frame, WKErrorRef error, WKTypeRef, const void* clientInfo) @@ -88,10 +94,10 @@ void PageLoadClientEfl::didFailLoadWithErrorForFrame(WKPageRef, WKFrameRef frame if (!WKFrameIsMainFrame(frame)) return; - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); OwnPtr<Ewk_Error> ewkError = Ewk_Error::create(error); - ewk_view_load_error(ewkView, ewkError.get()); - ewk_view_load_finished(ewkView); + viewImpl->smartCallback<LoadError>().call(ewkError.get()); + viewImpl->smartCallback<LoadFinished>().call(); } void PageLoadClientEfl::didStartProvisionalLoadForFrame(WKPageRef, WKFrameRef frame, WKTypeRef /*userData*/, const void* clientInfo) @@ -99,8 +105,9 @@ void PageLoadClientEfl::didStartProvisionalLoadForFrame(WKPageRef, WKFrameRef fr if (!WKFrameIsMainFrame(frame)) return; - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); - ewk_view_load_provisional_started(ewkView); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + viewImpl->informURLChange(); + viewImpl->smartCallback<ProvisionalLoadStarted>().call(); } void PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame(WKPageRef, WKFrameRef frame, WKTypeRef /*userData*/, const void* clientInfo) @@ -108,8 +115,9 @@ void PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame(WKPag if (!WKFrameIsMainFrame(frame)) return; - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); - ewk_view_load_provisional_redirect(ewkView); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + viewImpl->informURLChange(); + viewImpl->smartCallback<ProvisionalLoadRedirect>().call(); } void PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame(WKPageRef, WKFrameRef frame, WKErrorRef error, WKTypeRef, const void* clientInfo) @@ -117,21 +125,32 @@ void PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame(WKPageRef, WKFra if (!WKFrameIsMainFrame(frame)) return; - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); OwnPtr<Ewk_Error> ewkError = Ewk_Error::create(error); - ewk_view_load_provisional_failed(ewkView, ewkError.get()); + viewImpl->smartCallback<ProvisionalLoadFailed>().call(ewkError.get()); } +#if USE(TILED_BACKING_STORE) +void PageLoadClientEfl::didCommitLoadForFrame(WKPageRef, WKFrameRef frame, WKTypeRef, const void* clientInfo) +{ + if (!WKFrameIsMainFrame(frame)) + return; + + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + viewImpl->informLoadCommitted(); +} +#endif + void PageLoadClientEfl::didChangeBackForwardList(WKPageRef, WKBackForwardListItemRef addedItem, WKArrayRef removedItems, const void* clientInfo) { - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); - ASSERT(ewkView); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + ASSERT(viewImpl); - Ewk_Back_Forward_List* list = ewk_view_back_forward_list_get(ewkView); + Ewk_Back_Forward_List* list = ewk_view_back_forward_list_get(viewImpl->view()); ASSERT(list); list->update(addedItem, removedItems); - ewk_view_back_forward_list_changed(ewkView); + viewImpl->smartCallback<BackForwardListChange>().call(); } void PageLoadClientEfl::didSameDocumentNavigationForFrame(WKPageRef, WKFrameRef frame, WKSameDocumentNavigationType, WKTypeRef, const void* clientInfo) @@ -139,14 +158,22 @@ void PageLoadClientEfl::didSameDocumentNavigationForFrame(WKPageRef, WKFrameRef if (!WKFrameIsMainFrame(frame)) return; - Evas_Object* ewkView = toPageLoadClientEfl(clientInfo)->view(); - ewk_view_url_update(ewkView); + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + viewImpl->informURLChange(); +} + +void PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame(WKPageRef, WKFrameRef, WKAuthenticationChallengeRef authenticationChallenge, const void* clientInfo) +{ + EwkViewImpl* viewImpl = toPageLoadClientEfl(clientInfo)->viewImpl(); + + RefPtr<Ewk_Auth_Request> authenticationRequest = EwkAuthRequest::create(toImpl(authenticationChallenge)); + viewImpl->smartCallback<AuthenticationRequest>().call(authenticationRequest.get()); } -PageLoadClientEfl::PageLoadClientEfl(Evas_Object* view) - : m_view(view) +PageLoadClientEfl::PageLoadClientEfl(EwkViewImpl* viewImpl) + : m_viewImpl(viewImpl) { - WKPageRef pageRef = ewk_view_wkpage_get(m_view); + WKPageRef pageRef = m_viewImpl->wkPage(); ASSERT(pageRef); WKPageLoaderClient loadClient; @@ -168,8 +195,12 @@ PageLoadClientEfl::PageLoadClientEfl(Evas_Object* view) loadClient.didStartProvisionalLoadForFrame = didStartProvisionalLoadForFrame; loadClient.didReceiveServerRedirectForProvisionalLoadForFrame = didReceiveServerRedirectForProvisionalLoadForFrame; loadClient.didFailProvisionalLoadWithErrorForFrame = didFailProvisionalLoadWithErrorForFrame; +#if USE(TILED_BACKING_STORE) + loadClient.didCommitLoadForFrame = didCommitLoadForFrame; +#endif loadClient.didChangeBackForwardList = didChangeBackForwardList; loadClient.didSameDocumentNavigationForFrame = didSameDocumentNavigationForFrame; + loadClient.didReceiveAuthenticationChallengeInFrame = didReceiveAuthenticationChallengeInFrame; WKPageSetPageLoaderClient(pageRef, &loadClient); } |
