Exemplo n.º 1
0
void DownloadManagerEfl::didCreateDestination(WKContextRef, WKDownloadRef wkDownload, WKStringRef /*path*/, const void* clientInfo)
{
    Ewk_Download_Job* download = toDownloadManagerEfl(clientInfo)->downloadJob(toImpl(wkDownload)->downloadID());
    ASSERT(download);

    download->setState(EWK_DOWNLOAD_JOB_STATE_DOWNLOADING);
}
void DownloadManagerEfl::didCancel(WKContextRef, WKDownloadRef wkDownload, const void* clientInfo)
{
    DownloadManagerEfl* downloadManager = toDownloadManagerEfl(clientInfo);
    EwkDownloadJob* download = downloadManager->ewkDownloadJob(wkDownload);
    ASSERT(download);

    download->setState(EWK_DOWNLOAD_JOB_STATE_CANCELLED);
    download->view()->smartCallback<DownloadJobCancelled>().call(download);
    downloadManager->unregisterDownloadJob(wkDownload);
}
Exemplo n.º 3
0
void DownloadManagerEfl::didCancel(WKContextRef, WKDownloadRef wkDownload, const void* clientInfo)
{
    DownloadManagerEfl* downloadManager = toDownloadManagerEfl(clientInfo);
    uint64_t downloadId = toImpl(wkDownload)->downloadID();
    Ewk_Download_Job* download = downloadManager->downloadJob(downloadId);
    ASSERT(download);

    download->setState(EWK_DOWNLOAD_JOB_STATE_CANCELLED);
    download->viewImpl()->informDownloadJobCancelled(download);
    downloadManager->unregisterDownloadJob(downloadId);
}
Exemplo n.º 4
0
void DownloadManagerEfl::didFail(WKContextRef, WKDownloadRef wkDownload, WKErrorRef error, const void* clientInfo)
{
    DownloadManagerEfl* downloadManager = toDownloadManagerEfl(clientInfo);
    uint64_t downloadId = toImpl(wkDownload)->downloadID();
    Ewk_Download_Job* download = downloadManager->downloadJob(downloadId);
    ASSERT(download);

    OwnPtr<Ewk_Error> ewkError = Ewk_Error::create(error);
    download->setState(EWK_DOWNLOAD_JOB_STATE_FAILED);
    download->viewImpl()->informDownloadJobFailed(download, ewkError.get());
    downloadManager->unregisterDownloadJob(downloadId);
}
void DownloadManagerEfl::didFail(WKContextRef, WKDownloadRef wkDownload, WKErrorRef error, const void* clientInfo)
{
    DownloadManagerEfl* downloadManager = toDownloadManagerEfl(clientInfo);
    EwkDownloadJob* download = downloadManager->ewkDownloadJob(wkDownload);
    ASSERT(download);

    OwnPtr<EwkError> ewkError = EwkError::create(error);
    download->setState(EWK_DOWNLOAD_JOB_STATE_FAILED);
    Ewk_Download_Job_Error downloadError = { download, ewkError.get() };
    download->view()->smartCallback<DownloadJobFailed>().call(&downloadError);
    downloadManager->unregisterDownloadJob(wkDownload);
}
Exemplo n.º 6
0
WKStringRef DownloadManagerEfl::decideDestinationWithSuggestedFilename(WKContextRef, WKDownloadRef wkDownload, WKStringRef filename, bool* /*allowOverwrite*/, const void* clientInfo)
{
    Ewk_Download_Job* download = toDownloadManagerEfl(clientInfo)->downloadJob(toImpl(wkDownload)->downloadID());
    ASSERT(download);

    download->setSuggestedFileName(toImpl(filename)->string().utf8().data());

    // We send the new download signal on the Ewk_View only once we have received the response
    // and the suggested file name.
    download->viewImpl()->informDownloadJobRequested(download);

    // DownloadSoup expects the destination to be a URL.
    String destination = ASCIILiteral("file://") + String::fromUTF8(download->destination());

    return WKStringCreateWithUTF8CString(destination.utf8().data());
}
Exemplo n.º 7
0
void DownloadManagerEfl::didReceiveData(WKContextRef, WKDownloadRef wkDownload, uint64_t length, const void* clientInfo)
{
    Ewk_Download_Job* download = toDownloadManagerEfl(clientInfo)->downloadJob(toImpl(wkDownload)->downloadID());
    ASSERT(download);
    download->incrementReceivedData(length);
}
Exemplo n.º 8
0
void DownloadManagerEfl::didReceiveResponse(WKContextRef, WKDownloadRef wkDownload, WKURLResponseRef wkResponse, const void* clientInfo)
{
    Ewk_Download_Job* download = toDownloadManagerEfl(clientInfo)->downloadJob(toImpl(wkDownload)->downloadID());
    ASSERT(download);
    download->setResponse(Ewk_Url_Response::create(wkResponse));
}