jstring encodingStr = (jstring) env->GetObjectField(response, encoding);
if (mimeStr) {
- m_mimeType.assign(env->GetStringUTFChars(mimeStr, NULL),
- env->GetStringUTFLength(mimeStr));
- env->ReleaseStringUTFChars(mimeStr, NULL);
+ const char* s = env->GetStringUTFChars(mimeStr, NULL);
+ m_mimeType.assign(s, env->GetStringUTFLength(mimeStr));
+ env->ReleaseStringUTFChars(mimeStr, s);
}
if (encodingStr) {
- m_encoding.assign(env->GetStringUTFChars(encodingStr, NULL),
- env->GetStringUTFLength(encodingStr));
- env->ReleaseStringUTFChars(encodingStr, NULL);
+ const char* s = env->GetStringUTFChars(encodingStr, NULL);
+ m_encoding.assign(s, env->GetStringUTFLength(encodingStr));
+ env->ReleaseStringUTFChars(encodingStr, s);
}
env->DeleteLocalRef(javaResponse);
m_urlLoader->maybeCallOnMainThread(NewRunnableMethod(
m_urlLoader.get(), &WebUrlLoaderClient::didFinishLoading));
} else {
- OwnPtr<WebResponse> webResponse(new WebResponse(m_request.get()));
- m_urlLoader->maybeCallOnMainThread(NewRunnableMethod(
- m_urlLoader.get(), &WebUrlLoaderClient::didFail, webResponse.release()));
+ if (m_interceptResponse == NULL) {
+ OwnPtr<WebResponse> webResponse(new WebResponse(m_request.get()));
+ m_urlLoader->maybeCallOnMainThread(NewRunnableMethod(
+ m_urlLoader.get(), &WebUrlLoaderClient::didFail, webResponse.release()));
+ } else {
+ OwnPtr<WebResponse> webResponse(new WebResponse(m_url, m_interceptResponse->mimeType(), 0,
+ m_interceptResponse->encoding(), m_interceptResponse->status()));
+ m_urlLoader->maybeCallOnMainThread(NewRunnableMethod(
+ m_urlLoader.get(), &WebUrlLoaderClient::didFail, webResponse.release()));
+ }
}
m_networkBuffer = 0;
m_request = 0;