[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756
ap at apple.com
ap at apple.com
Fri Feb 26 22:26:15 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 1efdb2165e8d98ee7e245ec8cd7a9750fc05aa25
Author: ap at apple.com <ap at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Feb 20 08:24:45 2010 +0000
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=9761
LiveConnect string conversion fails for java.lang.Object
Can't test Java in DRT (I wonder why).
* bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 6ff68a9..4f30020 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-02-20 Alexey Proskuryakov <ap at apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=9761
+ LiveConnect string conversion fails for java.lang.Object
+
+ Can't test Java in DRT (I wonder why).
+
+ * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
+ Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
+
2010-02-19 Maciej Stachowiak <mjs at apple.com>
Reviewed by David Levin.
diff --git a/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp b/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp
index e238ab8..33c79ce 100644
--- a/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp
+++ b/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2003, 2010 Apple, Inc. All rights reserved.
* Copyright 2009, The Android Open Source Project
*
* Redistribution and use in source and binary forms, with or without
@@ -199,27 +199,27 @@ jvalue convertValueToJValue(ExecState* exec, JSValue value, JNIType jniType, con
}
}
- // Now convert value to a string if the target type is a java.lang.string, and we're not
- // converting from a Null.
- if (!result.l && !strcmp(javaClassName, "java.lang.String")) {
-#ifdef CONVERT_NULL_TO_EMPTY_STRING
- if (value->isNull()) {
- JNIEnv* env = getJNIEnv();
- jchar buf[2];
- jobject javaString = env->functions->NewString(env, buf, 0);
- result.l = javaString;
+ if (!result.l) {
+ // Convert value to a string if the target type is a java.lang.string, and we're not
+ // converting from a null.
+ if (!strcmp(javaClassName, "java.lang.String")) {
+ if (!value.isNull()) {
+ UString stringValue = value.toString(exec);
+ JNIEnv* env = getJNIEnv();
+ jobject javaString = env->functions->NewString(env, (const jchar*)stringValue.data(), stringValue.size());
+ result.l = javaString;
+ }
+ // JS strings are converted to Java strings if argument type is Object.
+ } else if (!strcmp(javaClassName, "java.lang.Object")) {
+ if (value.isString()) {
+ UString stringValue = asString(value)->value(exec);
+ JNIEnv* env = getJNIEnv();
+ jobject javaString = env->functions->NewString(env, (const jchar*)stringValue.data(), stringValue.size());
+ result.l = javaString;
+ }
} else
-#else
- if (!value.isNull())
-#endif
- {
- UString stringValue = value.toString(exec);
- JNIEnv* env = getJNIEnv();
- jobject javaString = env->functions->NewString(env, (const jchar *)stringValue.data(), stringValue.size());
- result.l = javaString;
- }
- } else if (!result.l)
- bzero(&result, sizeof(jvalue)); // Handle it the same as a void case
+ bzero(&result, sizeof(jvalue)); // Handle it the same as a void case
+ }
}
break;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list