Update jni_runtime.cpp with the latest changes to appendClassName.
WebKit change http://trac.webkit.org/changeset/53193 updated appendClassName to use
JSC::StringBuilder, rather than JSC-specific types. This allows this method to be
used with V8 as well as JSC.
A clean cherry-pick of this change would require changes 52026, 52028, 52075 and
52329 to be cherry-picked also. To avoid this churn, we simply update jni_runtime.cpp
to reflect the version at change 53193.
Change-Id: I6602469aeea59d8146ab1e72f312888b77522406
diff --git a/WebCore/bridge/jni/jni_runtime.cpp b/WebCore/bridge/jni/jni_runtime.cpp
index be11981..7f9fb72 100644
--- a/WebCore/bridge/jni/jni_runtime.cpp
+++ b/WebCore/bridge/jni/jni_runtime.cpp
@@ -28,6 +28,8 @@
#if ENABLE(MAC_JAVA_BRIDGE)
+#include "CString.h"
+#include "StringBuilder.h"
#include "jni_utility.h"
#include "jni_utility_private.h"
#include "runtime_array.h"
@@ -47,6 +49,7 @@
using namespace JSC;
using namespace JSC::Bindings;
+using namespace WebCore;
JavaParameter::JavaParameter (JNIEnv *env, jstring type)
@@ -296,7 +299,7 @@
// JNI method signatures use '/' between components of a class name, but
// we get '.' between components from the reflection API.
-static void appendClassName(UString& aString, const char* className)
+static void appendClassName(StringBuilder& builder, const char* className)
{
ASSERT(JSLock::lockCount() > 0);
@@ -309,9 +312,9 @@
cp++;
}
- aString.append(result);
+ builder.append(result);
- free (result);
+ free(result);
}
const char *JavaMethod::signature() const
@@ -319,7 +322,8 @@
if (!_signature) {
JSLock lock(SilenceAssertionsOnly);
- UString signatureBuilder("(");
+ StringBuilder signatureBuilder;
+ signatureBuilder.append("(");
for (int i = 0; i < _numParameters; i++) {
JavaParameter* aParameter = parameterAt(i);
JNIType _JNIType = aParameter->getJNIType();
@@ -346,7 +350,8 @@
}
}
- _signature = strdup(signatureBuilder.ascii());
+ String signatureString = signatureBuilder.toString();
+ _signature = strdup(signatureString.utf8().data());
}
return _signature;