summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp')
-rw-r--r--Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp87
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);
}