Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "content/browser/android/content_util.h" | |
| 6 | |
| 7 #include "base/android/jni_android.h" | |
| 8 #include "base/android/jni_array.h" | |
| 9 #include "base/android/jni_string.h" | |
| 10 #include "content/public/browser/web_contents.h" | |
|
jam
2012/06/08 23:45:09
nit: here and in the rest of the change, the conve
John Grabowski
2012/06/12 01:46:29
Sure. Is there a convention for what files have _
jam
2012/06/12 17:44:02
if there's an interface in content/public that is
| |
| 11 | |
| 12 using base::android::AppendJavaStringArrayToStringVector; | |
| 13 using base::android::CheckException; | |
| 14 using base::android::ConvertJavaStringToUTF8; | |
| 15 using base::android::ConvertJavaStringToUTF16; | |
| 16 using base::android::ConvertUTF8ToJavaString; | |
| 17 using base::android::ConvertUTF16ToJavaString; | |
| 18 using base::android::GetClass; | |
| 19 using base::android::GetFieldID; | |
| 20 using base::android::GetMethodID; | |
| 21 using base::android::JavaRef; | |
| 22 using base::android::ScopedJavaLocalRef; | |
| 23 using base::android::ToJavaArrayOfStrings; | |
| 24 | |
| 25 namespace { | |
| 26 | |
| 27 const char kFileChooserParamsClassName[] = | |
| 28 "org/chromium/content/browser/FileChooserParams"; | |
| 29 | |
| 30 } | |
| 31 | |
| 32 ScopedJavaLocalRef<jobject> ToJavaFileChooserParams( | |
| 33 JNIEnv* env, const content::FileChooserParams& file_chooser_params) { | |
| 34 ScopedJavaLocalRef<jclass> clazz = GetClass(env, kFileChooserParamsClassName); | |
| 35 jmethodID constructor_id = GetMethodID(env, clazz, "<init>", | |
| 36 "(ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;" | |
| 37 "Ljava/lang/String;)V"); | |
| 38 | |
| 39 ScopedJavaLocalRef<jstring> title = | |
| 40 ConvertUTF16ToJavaString(env, file_chooser_params.title); | |
| 41 ScopedJavaLocalRef<jstring> default_file_name = | |
| 42 ConvertUTF8ToJavaString(env, | |
| 43 file_chooser_params.default_file_name.value()); | |
| 44 ScopedJavaLocalRef<jobjectArray> accept_types = | |
| 45 ToJavaArrayOfStrings(env, file_chooser_params.accept_types); | |
| 46 ScopedJavaLocalRef<jstring> capture = | |
| 47 ConvertUTF16ToJavaString(env, file_chooser_params.capture); | |
| 48 | |
| 49 ScopedJavaLocalRef<jobject> java_params(env, | |
| 50 env->NewObject(clazz.obj(), | |
| 51 constructor_id, | |
| 52 static_cast<jint>(file_chooser_params.mode), | |
| 53 title.obj(), | |
| 54 default_file_name.obj(), | |
| 55 accept_types.obj(), | |
| 56 capture.obj())); | |
| 57 CheckException(env); | |
| 58 | |
| 59 return java_params; | |
| 60 } | |
| 61 | |
| 62 content::FileChooserParams ToNativeFileChooserParams( | |
| 63 JNIEnv* env, jint mode, jstring title, jstring default_file, | |
| 64 jobjectArray accept_types, jstring capture) { | |
| 65 | |
|
jam
2012/06/08 23:45:09
nit: blank line
| |
| 66 content::FileChooserParams file_chooser_params; | |
| 67 file_chooser_params.mode = | |
| 68 static_cast<content::FileChooserParams::Mode>(mode); | |
| 69 file_chooser_params.title = ConvertJavaStringToUTF16(env, title); | |
| 70 file_chooser_params.default_file_name = | |
| 71 FilePath(ConvertJavaStringToUTF8(env, default_file)); | |
| 72 AppendJavaStringArrayToStringVector(env, accept_types, | |
| 73 &file_chooser_params.accept_types); | |
| 74 file_chooser_params.capture = ConvertJavaStringToUTF16(env, capture); | |
| 75 | |
| 76 return file_chooser_params; | |
| 77 } | |
| OLD | NEW |