void FrameLoaderClientEfl::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& coreRequest, const ResourceResponse& coreResponse) { CString url = coreRequest.url().string().utf8(); DBG("Resource url=%s", url.data()); Ewk_Frame_Resource_Request request = { 0, identifier }; Ewk_Frame_Resource_Request orig = request; /* Initialize const fields. */ orig.url = request.url = url.data(); ewk_frame_request_will_send(m_frame, &request); // We want to distinguish between a request for a document to be loaded into // the main frame, a sub-frame, or the sub-objects in that document (via Chromium). if (loader) { const FrameLoader* frameLoader = loader->frameLoader(); const bool isMainFrameRequest = (loader == frameLoader->provisionalDocumentLoader() && frameLoader->isLoadingMainFrame()); if (isMainFrameRequest) evas_object_smart_callback_call(m_view, "resource,request,willsend", &request); } if (request.url != orig.url) { coreRequest.setURL(KURL(KURL(), request.url)); // Calling client might have changed our url pointer. // Free the new allocated string. free(const_cast<char*>(request.url)); } }
void FrameLoaderClientEfl::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& coreRequest, const ResourceResponse& coreResponse) { CString url = coreRequest.url().string().utf8(); CString firstParty = coreRequest.firstPartyForCookies().string().utf8(); CString httpMethod = coreRequest.httpMethod().utf8(); DBG("Resource url=%s, first_party=%s, http_method=%s", url.data(), firstParty.data(), httpMethod.data()); // We want to distinguish between a request for a document to be loaded into // the main frame, a sub-frame, or the sub-objects in that document. bool isMainFrameRequest = false; if (loader) { const FrameLoader* frameLoader = loader->frameLoader(); isMainFrameRequest = (loader == frameLoader->provisionalDocumentLoader() && frameLoader->isLoadingMainFrame()); } Ewk_Frame_Resource_Request request = { 0, firstParty.data(), httpMethod.data(), identifier, m_frame, isMainFrameRequest }; Ewk_Frame_Resource_Request orig = request; /* Initialize const fields. */ orig.url = request.url = url.data(); Ewk_Frame_Resource_Response* redirectResponse; Ewk_Frame_Resource_Response responseBuffer; CString redirectUrl, mimeType; if (coreResponse.isNull()) redirectResponse = 0; else { redirectUrl = coreResponse.url().string().utf8(); mimeType = coreResponse.mimeType().utf8(); responseBuffer.url = redirectUrl.data(); responseBuffer.status_code = coreResponse.httpStatusCode(); responseBuffer.identifier = identifier; responseBuffer.mime_type = mimeType.data(); redirectResponse = &responseBuffer; } Ewk_Frame_Resource_Messages messages = { &request, redirectResponse }; ewk_frame_request_will_send(m_frame, &messages); evas_object_smart_callback_call(m_view, "resource,request,willsend", &messages); if (request.url != orig.url) { coreRequest.setURL(KURL(KURL(), request.url)); // Calling client might have changed our url pointer. // Free the new allocated string. free(const_cast<char*>(request.url)); } }
void FrameLoaderClientEfl::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& coreRequest, const ResourceResponse& coreResponse) { CString url = coreRequest.url().string().utf8(); DBG("Resource url=%s", url.data()); Ewk_Frame_Resource_Request request = { 0, identifier }; Ewk_Frame_Resource_Request orig = request; /* Initialize const fields. */ orig.url = request.url = url.data(); ewk_frame_request_will_send(m_frame, &request); if (request.url != orig.url) { coreRequest.setURL(KURL(KURL(), request.url)); // Calling client might have changed our url pointer. // Free the new allocated string. free(const_cast<char*>(request.url)); } }