本文整理汇总了C++中WebView::webResourceLoadDelegate方法的典型用法代码示例。如果您正苦于以下问题:C++ WebView::webResourceLoadDelegate方法的具体用法?C++ WebView::webResourceLoadDelegate怎么用?C++ WebView::webResourceLoadDelegate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebView
的用法示例。
在下文中一共展示了WebView::webResourceLoadDelegate方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dispatchWillSendRequest
void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
{
#if ENABLE (ORIGYNSUITE)
OrigynServer::get()->redirectRequest(request);
#else
WebView* webView = m_webFrame->webView();
SharedPtr<WebResourceLoadDelegate> resourceLoadDelegate = webView->webResourceLoadDelegate();
if (!resourceLoadDelegate)
return;
WebMutableURLRequest* webURLRequest = WebMutableURLRequest::createInstance(request);
WebURLResponse* webURLRedirectResponse = WebURLResponse::createInstance(redirectResponse);
WebMutableURLRequest* newWebURLRequest = resourceLoadDelegate->willSendRequest(webView, identifier, webURLRequest, webURLRedirectResponse, getWebDataSource(loader));
delete webURLRedirectResponse;
if (webURLRequest == newWebURLRequest) {
delete webURLRequest;
return;
}
if (!newWebURLRequest) {
request = ResourceRequest();
delete webURLRequest;
return;
}
delete webURLRequest;
request = newWebURLRequest->resourceRequest();
#endif
}
示例2: dispatchDidFinishLoading
void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, unsigned long identifier)
{
WebView* webView = m_webFrame->webView();
SharedPtr<WebResourceLoadDelegate> resourceLoadDelegate = webView->webResourceLoadDelegate();
if (!resourceLoadDelegate)
return;
resourceLoadDelegate->didFinishLoadingFromDataSource(webView, identifier, getWebDataSource(loader));
}
示例3: dispatchDidReceiveContentLength
void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader* loader, unsigned long identifier, int length)
{
WebView* webView = m_webFrame->webView();
SharedPtr<WebResourceLoadDelegate> resourceLoadDelegate = webView->webResourceLoadDelegate();
if (!resourceLoadDelegate)
return;
resourceLoadDelegate->didReceiveContentLength(webView, identifier, length, getWebDataSource(loader));
}
示例4: dispatchDidFailLoading
void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
{
WebView* webView = m_webFrame->webView();
SharedPtr<WebResourceLoadDelegate> resourceLoadDelegate = webView->webResourceLoadDelegate();
if (!resourceLoadDelegate)
return;
WebError* webError = WebError::createInstance(error);
resourceLoadDelegate->didFailLoadingWithError(webView, identifier, webError, getWebDataSource(loader));
delete webError;
}
示例5: dispatchDidCancelAuthenticationChallenge
void WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge(DocumentLoader* loader, unsigned long identifier, const AuthenticationChallenge& challenge)
{
WebView* webView = m_webFrame->webView();
SharedPtr<WebResourceLoadDelegate> resourceLoadDelegate = webView->webResourceLoadDelegate();
if (!resourceLoadDelegate)
return;
WebURLAuthenticationChallenge* webChallenge = WebURLAuthenticationChallenge::createInstance(challenge);
resourceLoadDelegate->didCancelAuthenticationChallenge(webView, identifier, webChallenge, getWebDataSource(loader));
delete webChallenge;
}
示例6: assignIdentifierToInitialRequest
void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
{
WebView* webView = m_webFrame->webView();
SharedPtr<WebResourceLoadDelegate> resourceLoadDelegate = webView->webResourceLoadDelegate();
if (!resourceLoadDelegate)
return;
WebMutableURLRequest* webURLRequest = WebMutableURLRequest::createInstance(request);
resourceLoadDelegate->identifierForInitialRequest(webView, webURLRequest, getWebDataSource(loader), identifier);
delete webURLRequest;
}
示例7: dispatchDidReceiveAuthenticationChallenge
void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, unsigned long identifier, const AuthenticationChallenge& challenge)
{
#if USE(CURL)
ASSERT(challenge.authenticationClient());
#endif
WebView* webView = m_webFrame->webView();
SharedPtr<WebResourceLoadDelegate> resourceLoadDelegate = webView->webResourceLoadDelegate();
if (resourceLoadDelegate) {
WebURLAuthenticationChallenge* webChallenge = WebURLAuthenticationChallenge::createInstance(challenge);
resourceLoadDelegate->didReceiveAuthenticationChallenge(webView, identifier, webChallenge, getWebDataSource(loader));
delete webChallenge;
}
#if USE(CURL)
// If the ResourceLoadDelegate doesn't exist or fails to handle the call, we tell the ResourceHandle
// to continue without credential - this is the best approximation of Mac behavior
challenge.authenticationClient()->receivedRequestToContinueWithoutCredential(challenge);
#endif
}
示例8: dispatchDidReceiveResponse
void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response)
{
#if ENABLE(WIDGET_ENGINE)
SharedPtr<WebWidgetEngineDelegate> widgetEngineDelegate = m_webFrame->webView()->webWidgetEngineDelegate();
if (widgetEngineDelegate && loader->responseMIMEType() == "application/widget") {
const char* url = widgetEngineDelegate->receiveWidget(strdup(loader->responseURL().string().utf8().data()), m_webFrame);
loader->stopLoading();
if (url)
m_webFrame->loadURL(url);
return;
}
#endif
WebView* webView = m_webFrame->webView();
SharedPtr<WebResourceLoadDelegate> resourceLoadDelegate = webView->webResourceLoadDelegate();
if (!resourceLoadDelegate)
return;
WebURLResponse* webURLResponse = WebURLResponse::createInstance(response);
resourceLoadDelegate->didReceiveResponse(webView, identifier, webURLResponse, getWebDataSource(loader));
delete webURLResponse;
}