diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-11 15:21:06 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-11 15:21:06 -0700 |
| commit | 40e08ce5f3984e7f4c70ea623114b1aca1cc9c42 (patch) | |
| tree | f0274dade75dad56cdb131af0aaa8640b2ccae2f | |
| parent | 3a3100a35baa885399196fc0256500464307e9cc (diff) | |
| parent | 631d8e4fbc7ac931b40f563559699e18b3992153 (diff) | |
| download | external_webkit-40e08ce5f3984e7f4c70ea623114b1aca1cc9c42.zip external_webkit-40e08ce5f3984e7f4c70ea623114b1aca1cc9c42.tar.gz external_webkit-40e08ce5f3984e7f4c70ea623114b1aca1cc9c42.tar.bz2 | |
Merge change 3774 into donut
* changes:
DO NOT MERGE.
| -rw-r--r-- | WebKit/android/jni/WebCoreFrameBridge.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/WebKit/android/jni/WebCoreFrameBridge.cpp b/WebKit/android/jni/WebCoreFrameBridge.cpp index 8c34354..e2299c8 100644 --- a/WebKit/android/jni/WebCoreFrameBridge.cpp +++ b/WebKit/android/jni/WebCoreFrameBridge.cpp @@ -795,6 +795,29 @@ static void LoadUrl(JNIEnv *env, jobject obj, jstring url) pFrame->loader()->load(request, false); } +static void PostUrl(JNIEnv *env, jobject obj, jstring url, jbyteArray postData) +{ +#ifdef ANDROID_INSTRUMENT + TimeCounterAuto counter(TimeCounter::NativeCallbackTimeCounter); +#endif + WebCore::Frame* pFrame = GET_NATIVE_FRAME(env, obj); + LOG_ASSERT(pFrame, "nativePostUrl must take a valid frame pointer!"); + + WebCore::KURL kurl(WebCore::KURL(), to_string(env, url)); + WebCore::ResourceRequest request(kurl); + request.setHTTPContentType("application/x-www-form-urlencoded"); + + if (postData) { + jsize size = env->GetArrayLength(postData); + jbyte* bytes = env->GetByteArrayElements(postData, NULL); + request.setHTTPBody(WebCore::FormData::create((const void*)bytes, size)); + env->ReleaseByteArrayElements(postData, bytes, 0); + } + + LOGV("PostUrl %s", kurl.string().latin1().data()); + pFrame->loader()->loadPostRequest(request, String(), String(), false, + WebCore::FrameLoadTypeStandard, 0, 0, true); +} static void LoadData(JNIEnv *env, jobject obj, jstring baseUrl, jstring data, jstring mimeType, jstring encoding, jstring failUrl) @@ -1252,6 +1275,8 @@ static JNINativeMethod gBrowserFrameNativeMethods[] = { (void*) StopLoading }, { "nativeLoadUrl", "(Ljava/lang/String;)V", (void*) LoadUrl }, + { "nativePostUrl", "(Ljava/lang/String;[B)V", + (void*) PostUrl }, { "nativeLoadData", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", (void*) LoadData }, { "externalRepresentation", "()Ljava/lang/String;", |
