Merging JAVADEV_RTM_20001102 into Trunk
_Ashu git-svn-id: svn://10.0.0.236/trunk@91051 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -28,9 +28,9 @@
|
||||
|
||||
#include "NavigationImpl.h"
|
||||
|
||||
#include "ns_util.h"
|
||||
#include "NavigationActionEvents.h"
|
||||
|
||||
#include "nsActions.h"
|
||||
#include "ns_util.h"
|
||||
|
||||
JNIEXPORT void JNICALL Java_org_mozilla_webclient_wrapper_1native_NavigationImpl_nativeLoadURL
|
||||
(JNIEnv *env, jobject obj, jint webShellPtr, jstring urlString)
|
||||
@@ -77,12 +77,79 @@ JNIEXPORT void JNICALL Java_org_mozilla_webclient_wrapper_1native_NavigationImpl
|
||||
::util_ReleaseStringChars(env, urlString, (const jchar *) urlStringChars);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_org_mozilla_webclient_wrapper_1native_NavigationImpl_nativeLoadFromStream
|
||||
(JNIEnv *env, jobject obj, jint webShellPtr, jobject stream, jstring uri,
|
||||
jstring contentType, jint contentLength, jobject loadProperties)
|
||||
{
|
||||
WebShellInitContext* initContext = (WebShellInitContext *) webShellPtr;
|
||||
PRUnichar *uriStringUniChars = nsnull;
|
||||
PRInt32 uriStringUniCharsLength = -1;
|
||||
const char *contentTypeChars = nsnull;
|
||||
jobject globalStream = nsnull;
|
||||
jobject globalLoadProperties = nsnull;
|
||||
nsString *uriNsString = nsnull;
|
||||
wsLoadFromStreamEvent *actionEvent = nsnull;
|
||||
|
||||
if (initContext == nsnull || !initContext->initComplete) {
|
||||
::util_ThrowExceptionToJava(env, "Exception: null webShellPtr passed to nativeLoadFromStream");
|
||||
return;
|
||||
}
|
||||
uriStringUniChars = (PRUnichar *) ::util_GetStringChars(env, uri);
|
||||
uriStringUniCharsLength = (PRInt32) ::util_GetStringLength(env, uri);
|
||||
contentTypeChars = (char *) ::util_GetStringUTFChars(env, contentType);
|
||||
if (!uriStringUniChars || !contentTypeChars) {
|
||||
::util_ThrowExceptionToJava(env, "Exception: nativeLoadFromStream: unable to convert java string to native format");
|
||||
goto NLFS_CLEANUP;
|
||||
}
|
||||
|
||||
if (!(uriNsString =
|
||||
new nsString(uriStringUniChars, uriStringUniCharsLength))) {
|
||||
::util_ThrowExceptionToJava(env, "Exception: nativeLoadFromStream: unable to convert native string to nsString");
|
||||
goto NLFS_CLEANUP;
|
||||
}
|
||||
|
||||
// the deleteGlobalRef is done in the wsLoadFromStream destructor
|
||||
if (!(globalStream = ::util_NewGlobalRef(env, stream))) {
|
||||
::util_ThrowExceptionToJava(env, "Exception: nativeLoadFromStream: unable to create gloabal ref to stream");
|
||||
goto NLFS_CLEANUP;
|
||||
}
|
||||
|
||||
if (loadProperties) {
|
||||
// the deleteGlobalRef is done in the wsLoadFromStream destructor
|
||||
if (!(globalLoadProperties =
|
||||
::util_NewGlobalRef(env, loadProperties))) {
|
||||
::util_ThrowExceptionToJava(env, "Exception: nativeLoadFromStream: unable to create gloabal ref to properties");
|
||||
goto NLFS_CLEANUP;
|
||||
}
|
||||
}
|
||||
|
||||
if (!(actionEvent = new wsLoadFromStreamEvent(initContext,
|
||||
(void *) globalStream,
|
||||
*uriNsString,
|
||||
contentTypeChars,
|
||||
(PRInt32) contentLength,
|
||||
(void *)
|
||||
globalLoadProperties))) {
|
||||
::util_ThrowExceptionToJava(env, "Exception: nativeLoadFromStream: can't create wsLoadFromStreamEvent");
|
||||
goto NLFS_CLEANUP;
|
||||
}
|
||||
::util_PostSynchronousEvent(initContext, (PLEvent *) *actionEvent);
|
||||
|
||||
NLFS_CLEANUP:
|
||||
::util_ReleaseStringChars(env, uri, (const jchar *) uriStringUniChars);
|
||||
::util_ReleaseStringUTFChars(env, contentType, contentTypeChars);
|
||||
delete uriNsString;
|
||||
|
||||
// note, the deleteGlobalRef for loadProperties happens in the
|
||||
// wsLoadFromStreamEvent destructor.
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void JNICALL Java_org_mozilla_webclient_wrapper_1native_NavigationImpl_nativeRefresh
|
||||
(JNIEnv *env, jobject obj, jint webShellPtr, jlong loadFlags)
|
||||
{
|
||||
JNIEnv * pEnv = env;
|
||||
jobject jobj = obj;
|
||||
void * voidResult = nsnull;
|
||||
|
||||
WebShellInitContext* initContext = (WebShellInitContext *) webShellPtr;
|
||||
|
||||
@@ -95,7 +162,7 @@ JNIEXPORT void JNICALL Java_org_mozilla_webclient_wrapper_1native_NavigationImpl
|
||||
wsRefreshEvent * actionEvent = new wsRefreshEvent(initContext->webNavigation, (PRInt32) loadFlags);
|
||||
PLEvent * event = (PLEvent*) *actionEvent;
|
||||
|
||||
voidResult = ::util_PostSynchronousEvent(initContext, event);
|
||||
::util_PostEvent(initContext, event);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -123,3 +190,38 @@ JNIEXPORT void JNICALL Java_org_mozilla_webclient_wrapper_1native_NavigationImpl
|
||||
::util_PostEvent(initContext, event);
|
||||
}
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_org_mozilla_webclient_wrapper_1native_NavigationImpl_nativeSetPrompt
|
||||
(JNIEnv *env, jobject obj, jint webShellPtr, jobject userPrompt)
|
||||
{
|
||||
JNIEnv * pEnv = env;
|
||||
jobject jobj = obj;
|
||||
|
||||
WebShellInitContext* initContext = (WebShellInitContext *) webShellPtr;
|
||||
|
||||
if (initContext == nsnull) {
|
||||
::util_ThrowExceptionToJava(env, "Exception: null webShellPtr passed to nativeSetPrompt");
|
||||
return;
|
||||
}
|
||||
|
||||
if (userPrompt == nsnull) {
|
||||
::util_ThrowExceptionToJava(env, "Exception: null properties passed to nativeSetPrompt");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!initContext->initComplete) {
|
||||
return;
|
||||
}
|
||||
|
||||
// IMPORTANT: do the DeleteGlobalRef when we set a new prompt!
|
||||
|
||||
PR_ASSERT(initContext->browserContainer);
|
||||
|
||||
|
||||
wsSetPromptEvent * actionEvent = new wsSetPromptEvent(initContext->browserContainer, userPrompt);
|
||||
PLEvent * event = (PLEvent*) *actionEvent;
|
||||
::util_PostSynchronousEvent(initContext, event);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user