| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Tests for jni_generator.py. | 6 """Tests for jni_generator.py. |
| 7 | 7 |
| 8 This test suite contains various tests for the JNI generator. | 8 This test suite contains various tests for the JNI generator. |
| 9 It exercises the low-level parser all the way up to the | 9 It exercises the low-level parser all the way up to the |
| 10 code generator and ensures the output matches a golden | 10 code generator and ensures the output matches a golden |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 if stripped_golden != stripped_generated: | 47 if stripped_golden != stripped_generated: |
| 48 print self.id() | 48 print self.id() |
| 49 for line in difflib.context_diff(stripped_golden, stripped_generated): | 49 for line in difflib.context_diff(stripped_golden, stripped_generated): |
| 50 print line | 50 print line |
| 51 print '\n\nGenerated' | 51 print '\n\nGenerated' |
| 52 print '=' * 80 | 52 print '=' * 80 |
| 53 print generated_text | 53 print generated_text |
| 54 print '=' * 80 | 54 print '=' * 80 |
| 55 self.fail('Golden text mismatch') | 55 self.fail('Golden text mismatch') |
| 56 | 56 |
| 57 # TODO(bulach): Detangle these tests from knowing about classes from Content. | |
| 58 def testNatives(self): | 57 def testNatives(self): |
| 59 test_data = """" | 58 test_data = """" |
| 60 private native int nativeInit(); | 59 private native int nativeInit(); |
| 61 private native void nativeDestroy(int nativeChromeBrowserProvider); | 60 private native void nativeDestroy(int nativeChromeBrowserProvider); |
| 62 private native long nativeAddBookmark( | 61 private native long nativeAddBookmark( |
| 63 int nativeChromeBrowserProvider, | 62 int nativeChromeBrowserProvider, |
| 64 String url, String title, boolean isFolder, long parentId); | 63 String url, String title, boolean isFolder, long parentId); |
| 65 private static native String nativeGetDomainAndRegistry(String url); | 64 private static native String nativeGetDomainAndRegistry(String url); |
| 66 private static native void nativeCreateHistoricalTabFromState( | 65 private static native void nativeCreateHistoricalTabFromState( |
| 67 byte[] state, int tab_index); | 66 byte[] state, int tab_index); |
| 68 private native byte[] nativeGetStateAsByteArray(ContentViewCore view); | 67 private native byte[] nativeGetStateAsByteArray(View view); |
| 69 private static native String[] nativeGetAutofillProfileGUIDs(); | 68 private static native String[] nativeGetAutofillProfileGUIDs(); |
| 70 private native void nativeSetRecognitionResults( | 69 private native void nativeSetRecognitionResults( |
| 71 int sessionId, String[] results); | 70 int sessionId, String[] results); |
| 72 private native long nativeAddBookmarkFromAPI( | 71 private native long nativeAddBookmarkFromAPI( |
| 73 int nativeChromeBrowserProvider, | 72 int nativeChromeBrowserProvider, |
| 74 String url, Long created, Boolean isBookmark, | 73 String url, Long created, Boolean isBookmark, |
| 75 Long date, byte[] favicon, String title, Integer visits); | 74 Long date, byte[] favicon, String title, Integer visits); |
| 76 native int nativeFindAll(String find); | 75 native int nativeFindAll(String find); |
| 77 private static native BookmarkNode nativeGetDefaultBookmarkFolder(); | 76 private static native OnFrameAvailableListener nativeGetInnerClass(); |
| 78 private native SQLiteCursor nativeQueryBookmarkFromAPI( | 77 private native Bitmap nativeQueryBitmap( |
| 79 int nativeChromeBrowserProvider, | 78 int nativeChromeBrowserProvider, |
| 80 String[] projection, String selection, | 79 String[] projection, String selection, |
| 81 String[] selectionArgs, String sortOrder); | 80 String[] selectionArgs, String sortOrder); |
| 82 private native void nativeGotOrientation( | 81 private native void nativeGotOrientation( |
| 83 int nativeDataFetcherImplAndroid, | 82 int nativeDataFetcherImplAndroid, |
| 84 double alpha, double beta, double gamma); | 83 double alpha, double beta, double gamma); |
| 85 """ | 84 """ |
| 86 natives = jni_generator.ExtractNatives(test_data) | 85 natives = jni_generator.ExtractNatives(test_data) |
| 87 golden_natives = [ | 86 golden_natives = [ |
| 88 NativeMethod(return_type='int', static=False, | 87 NativeMethod(return_type='int', static=False, |
| (...skipping 30 matching lines...) Expand all Loading... |
| 119 NativeMethod(return_type='void', static=True, | 118 NativeMethod(return_type='void', static=True, |
| 120 name='CreateHistoricalTabFromState', | 119 name='CreateHistoricalTabFromState', |
| 121 params=[Param(datatype='byte[]', | 120 params=[Param(datatype='byte[]', |
| 122 name='state'), | 121 name='state'), |
| 123 Param(datatype='int', | 122 Param(datatype='int', |
| 124 name='tab_index')], | 123 name='tab_index')], |
| 125 java_class_name=None, | 124 java_class_name=None, |
| 126 type='function'), | 125 type='function'), |
| 127 NativeMethod(return_type='byte[]', static=False, | 126 NativeMethod(return_type='byte[]', static=False, |
| 128 name='GetStateAsByteArray', | 127 name='GetStateAsByteArray', |
| 129 params=[Param(datatype='ContentViewCore', name='view')], | 128 params=[Param(datatype='View', name='view')], |
| 130 java_class_name=None, | 129 java_class_name=None, |
| 131 type='function'), | 130 type='function'), |
| 132 NativeMethod(return_type='String[]', static=True, | 131 NativeMethod(return_type='String[]', static=True, |
| 133 name='GetAutofillProfileGUIDs', params=[], | 132 name='GetAutofillProfileGUIDs', params=[], |
| 134 java_class_name=None, | 133 java_class_name=None, |
| 135 type='function'), | 134 type='function'), |
| 136 NativeMethod(return_type='void', static=False, | 135 NativeMethod(return_type='void', static=False, |
| 137 name='SetRecognitionResults', | 136 name='SetRecognitionResults', |
| 138 params=[Param(datatype='int', name='sessionId'), | 137 params=[Param(datatype='int', name='sessionId'), |
| 139 Param(datatype='String[]', name='results')], | 138 Param(datatype='String[]', name='results')], |
| (...skipping 19 matching lines...) Expand all Loading... |
| 159 name='visits')], | 158 name='visits')], |
| 160 java_class_name=None, | 159 java_class_name=None, |
| 161 type='method', | 160 type='method', |
| 162 p0_type='ChromeBrowserProvider'), | 161 p0_type='ChromeBrowserProvider'), |
| 163 NativeMethod(return_type='int', static=False, | 162 NativeMethod(return_type='int', static=False, |
| 164 name='FindAll', | 163 name='FindAll', |
| 165 params=[Param(datatype='String', | 164 params=[Param(datatype='String', |
| 166 name='find')], | 165 name='find')], |
| 167 java_class_name=None, | 166 java_class_name=None, |
| 168 type='function'), | 167 type='function'), |
| 169 NativeMethod(return_type='BookmarkNode', static=True, | 168 NativeMethod(return_type='OnFrameAvailableListener', static=True, |
| 170 name='GetDefaultBookmarkFolder', | 169 name='GetInnerClass', |
| 171 params=[], | 170 params=[], |
| 172 java_class_name=None, | 171 java_class_name=None, |
| 173 type='function'), | 172 type='function'), |
| 174 NativeMethod(return_type='SQLiteCursor', | 173 NativeMethod(return_type='Bitmap', |
| 175 static=False, | 174 static=False, |
| 176 name='QueryBookmarkFromAPI', | 175 name='QueryBitmap', |
| 177 params=[Param(datatype='int', | 176 params=[Param(datatype='int', |
| 178 name='nativeChromeBrowserProvider'), | 177 name='nativeChromeBrowserProvider'), |
| 179 Param(datatype='String[]', | 178 Param(datatype='String[]', |
| 180 name='projection'), | 179 name='projection'), |
| 181 Param(datatype='String', | 180 Param(datatype='String', |
| 182 name='selection'), | 181 name='selection'), |
| 183 Param(datatype='String[]', | 182 Param(datatype='String[]', |
| 184 name='selectionArgs'), | 183 name='selectionArgs'), |
| 185 Param(datatype='String', | 184 Param(datatype='String', |
| 186 name='sortOrder'), | 185 name='sortOrder'), |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 | 248 |
| 250 static jobjectArray GetAutofillProfileGUIDs(JNIEnv* env, jclass clazz); | 249 static jobjectArray GetAutofillProfileGUIDs(JNIEnv* env, jclass clazz); |
| 251 | 250 |
| 252 static void SetRecognitionResults(JNIEnv* env, jobject obj, | 251 static void SetRecognitionResults(JNIEnv* env, jobject obj, |
| 253 jint sessionId, | 252 jint sessionId, |
| 254 jobjectArray results); | 253 jobjectArray results); |
| 255 | 254 |
| 256 static jint FindAll(JNIEnv* env, jobject obj, | 255 static jint FindAll(JNIEnv* env, jobject obj, |
| 257 jstring find); | 256 jstring find); |
| 258 | 257 |
| 259 static jobject GetDefaultBookmarkFolder(JNIEnv* env, jclass clazz); | 258 static jobject GetInnerClass(JNIEnv* env, jclass clazz); |
| 260 | 259 |
| 261 // Step 2: method stubs. | 260 // Step 2: method stubs. |
| 262 static void Destroy(JNIEnv* env, jobject obj, | 261 static void Destroy(JNIEnv* env, jobject obj, |
| 263 jint nativeChromeBrowserProvider) { | 262 jint nativeChromeBrowserProvider) { |
| 264 DCHECK(nativeChromeBrowserProvider) << "Destroy"; | 263 DCHECK(nativeChromeBrowserProvider) << "Destroy"; |
| 265 ChromeBrowserProvider* native = | 264 ChromeBrowserProvider* native = |
| 266 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); | 265 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); |
| 267 return native->Destroy(env, obj); | 266 return native->Destroy(env, obj); |
| 268 } | 267 } |
| 269 | 268 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 288 jbyteArray favicon, | 287 jbyteArray favicon, |
| 289 jstring title, | 288 jstring title, |
| 290 jobject visits) { | 289 jobject visits) { |
| 291 DCHECK(nativeChromeBrowserProvider) << "AddBookmarkFromAPI"; | 290 DCHECK(nativeChromeBrowserProvider) << "AddBookmarkFromAPI"; |
| 292 ChromeBrowserProvider* native = | 291 ChromeBrowserProvider* native = |
| 293 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); | 292 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); |
| 294 return native->AddBookmarkFromAPI(env, obj, url, created, isBookmark, date, | 293 return native->AddBookmarkFromAPI(env, obj, url, created, isBookmark, date, |
| 295 favicon, title, visits); | 294 favicon, title, visits); |
| 296 } | 295 } |
| 297 | 296 |
| 298 static jobject QueryBookmarkFromAPI(JNIEnv* env, jobject obj, | 297 static jobject QueryBitmap(JNIEnv* env, jobject obj, |
| 299 jint nativeChromeBrowserProvider, | 298 jint nativeChromeBrowserProvider, |
| 300 jobjectArray projection, | 299 jobjectArray projection, |
| 301 jstring selection, | 300 jstring selection, |
| 302 jobjectArray selectionArgs, | 301 jobjectArray selectionArgs, |
| 303 jstring sortOrder) { | 302 jstring sortOrder) { |
| 304 DCHECK(nativeChromeBrowserProvider) << "QueryBookmarkFromAPI"; | 303 DCHECK(nativeChromeBrowserProvider) << "QueryBitmap"; |
| 305 ChromeBrowserProvider* native = | 304 ChromeBrowserProvider* native = |
| 306 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); | 305 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); |
| 307 return native->QueryBookmarkFromAPI(env, obj, projection, selection, | 306 return native->QueryBitmap(env, obj, projection, selection, selectionArgs, |
| 308 selectionArgs, sortOrder).Release(); | 307 sortOrder).Release(); |
| 309 } | 308 } |
| 310 | 309 |
| 311 static void GotOrientation(JNIEnv* env, jobject obj, | 310 static void GotOrientation(JNIEnv* env, jobject obj, |
| 312 jint nativeDataFetcherImplAndroid, | 311 jint nativeDataFetcherImplAndroid, |
| 313 jdouble alpha, | 312 jdouble alpha, |
| 314 jdouble beta, | 313 jdouble beta, |
| 315 jdouble gamma) { | 314 jdouble gamma) { |
| 316 DCHECK(nativeDataFetcherImplAndroid) << "GotOrientation"; | 315 DCHECK(nativeDataFetcherImplAndroid) << "GotOrientation"; |
| 317 DataFetcherImplAndroid* native = | 316 DataFetcherImplAndroid* native = |
| 318 reinterpret_cast<DataFetcherImplAndroid*>(nativeDataFetcherImplAndroid); | 317 reinterpret_cast<DataFetcherImplAndroid*>(nativeDataFetcherImplAndroid); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 ")" | 349 ")" |
| 351 "Ljava/lang/String;", reinterpret_cast<void*>(GetDomainAndRegistry) }, | 350 "Ljava/lang/String;", reinterpret_cast<void*>(GetDomainAndRegistry) }, |
| 352 { "nativeCreateHistoricalTabFromState", | 351 { "nativeCreateHistoricalTabFromState", |
| 353 "(" | 352 "(" |
| 354 "[B" | 353 "[B" |
| 355 "I" | 354 "I" |
| 356 ")" | 355 ")" |
| 357 "V", reinterpret_cast<void*>(CreateHistoricalTabFromState) }, | 356 "V", reinterpret_cast<void*>(CreateHistoricalTabFromState) }, |
| 358 { "nativeGetStateAsByteArray", | 357 { "nativeGetStateAsByteArray", |
| 359 "(" | 358 "(" |
| 360 "Lorg/chromium/content/browser/ContentViewCore;" | 359 "Landroid/view/View;" |
| 361 ")" | 360 ")" |
| 362 "[B", reinterpret_cast<void*>(GetStateAsByteArray) }, | 361 "[B", reinterpret_cast<void*>(GetStateAsByteArray) }, |
| 363 { "nativeGetAutofillProfileGUIDs", | 362 { "nativeGetAutofillProfileGUIDs", |
| 364 "(" | 363 "(" |
| 365 ")" | 364 ")" |
| 366 "[Ljava/lang/String;", reinterpret_cast<void*>(GetAutofillProfileGUIDs) }, | 365 "[Ljava/lang/String;", reinterpret_cast<void*>(GetAutofillProfileGUIDs) }, |
| 367 { "nativeSetRecognitionResults", | 366 { "nativeSetRecognitionResults", |
| 368 "(" | 367 "(" |
| 369 "I" | 368 "I" |
| 370 "[Ljava/lang/String;" | 369 "[Ljava/lang/String;" |
| 371 ")" | 370 ")" |
| 372 "V", reinterpret_cast<void*>(SetRecognitionResults) }, | 371 "V", reinterpret_cast<void*>(SetRecognitionResults) }, |
| 373 { "nativeAddBookmarkFromAPI", | 372 { "nativeAddBookmarkFromAPI", |
| 374 "(" | 373 "(" |
| 375 "I" | 374 "I" |
| 376 "Ljava/lang/String;" | 375 "Ljava/lang/String;" |
| 377 "Ljava/lang/Long;" | 376 "Ljava/lang/Long;" |
| 378 "Ljava/lang/Boolean;" | 377 "Ljava/lang/Boolean;" |
| 379 "Ljava/lang/Long;" | 378 "Ljava/lang/Long;" |
| 380 "[B" | 379 "[B" |
| 381 "Ljava/lang/String;" | 380 "Ljava/lang/String;" |
| 382 "Ljava/lang/Integer;" | 381 "Ljava/lang/Integer;" |
| 383 ")" | 382 ")" |
| 384 "J", reinterpret_cast<void*>(AddBookmarkFromAPI) }, | 383 "J", reinterpret_cast<void*>(AddBookmarkFromAPI) }, |
| 385 { "nativeFindAll", | 384 { "nativeFindAll", |
| 386 "(" | 385 "(" |
| 387 "Ljava/lang/String;" | 386 "Ljava/lang/String;" |
| 388 ")" | 387 ")" |
| 389 "I", reinterpret_cast<void*>(FindAll) }, | 388 "I", reinterpret_cast<void*>(FindAll) }, |
| 390 { "nativeGetDefaultBookmarkFolder", | 389 { "nativeGetInnerClass", |
| 391 "(" | 390 "(" |
| 392 ")" | 391 ")" |
| 393 "Lorg/chromium/chrome/browser/ChromeBrowserProvider$BookmarkNode;", | 392 "Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;", |
| 394 reinterpret_cast<void*>(GetDefaultBookmarkFolder) }, | 393 reinterpret_cast<void*>(GetInnerClass) }, |
| 395 { "nativeQueryBookmarkFromAPI", | 394 { "nativeQueryBitmap", |
| 396 "(" | 395 "(" |
| 397 "I" | 396 "I" |
| 398 "[Ljava/lang/String;" | 397 "[Ljava/lang/String;" |
| 399 "Ljava/lang/String;" | 398 "Ljava/lang/String;" |
| 400 "[Ljava/lang/String;" | 399 "[Ljava/lang/String;" |
| 401 "Ljava/lang/String;" | 400 "Ljava/lang/String;" |
| 402 ")" | 401 ")" |
| 403 "Lorg/chromium/chrome/browser/database/SQLiteCursor;", | 402 "Landroid/graphics/Bitmap;", reinterpret_cast<void*>(QueryBitmap) }, |
| 404 reinterpret_cast<void*>(QueryBookmarkFromAPI) }, | |
| 405 { "nativeGotOrientation", | 403 { "nativeGotOrientation", |
| 406 "(" | 404 "(" |
| 407 "I" | 405 "I" |
| 408 "D" | 406 "D" |
| 409 "D" | 407 "D" |
| 410 "D" | 408 "D" |
| 411 ")" | 409 ")" |
| 412 "V", reinterpret_cast<void*>(GotOrientation) }, | 410 "V", reinterpret_cast<void*>(GotOrientation) }, |
| 413 }; | 411 }; |
| 414 const int kMethodsTestJniSize = arraysize(kMethodsTestJni); | 412 const int kMethodsTestJniSize = arraysize(kMethodsTestJni); |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 714 return true; | 712 return true; |
| 715 } | 713 } |
| 716 | 714 |
| 717 #endif // org_chromium_TestJni_JNI | 715 #endif // org_chromium_TestJni_JNI |
| 718 """ | 716 """ |
| 719 self.assertTextEquals(golden_content, h.GetContent()) | 717 self.assertTextEquals(golden_content, h.GetContent()) |
| 720 | 718 |
| 721 def testCalledByNatives(self): | 719 def testCalledByNatives(self): |
| 722 test_data = """" | 720 test_data = """" |
| 723 @CalledByNative | 721 @CalledByNative |
| 724 NativeInfoBar showConfirmInfoBar(int nativeInfoBar, String buttonOk, | 722 OnFrameAvailableListener showConfirmInfoBar(int nativeInfoBar, |
| 725 String buttonCancel, String title, | 723 String buttonOk, String buttonCancel, String title, Bitmap icon) { |
| 726 Bitmap icon) { | |
| 727 InfoBar infobar = new ConfirmInfoBar(nativeInfoBar, mContext, | 724 InfoBar infobar = new ConfirmInfoBar(nativeInfoBar, mContext, |
| 728 buttonOk, buttonCancel, | 725 buttonOk, buttonCancel, |
| 729 title, icon); | 726 title, icon); |
| 730 return infobar; | 727 return infobar; |
| 731 } | 728 } |
| 732 @CalledByNative | 729 @CalledByNative |
| 733 NativeInfoBar showAutoLoginInfoBar(int nativeInfoBar, | 730 OnFrameAvailableListener showAutoLoginInfoBar(int nativeInfoBar, |
| 734 String realm, String account, | 731 String realm, String account, String args) { |
| 735 String args) { | |
| 736 AutoLoginInfoBar infobar = new AutoLoginInfoBar(nativeInfoBar, mContext, | 732 AutoLoginInfoBar infobar = new AutoLoginInfoBar(nativeInfoBar, mContext, |
| 737 realm, account, args); | 733 realm, account, args); |
| 738 if (infobar.displayedAccountCount() == 0) | 734 if (infobar.displayedAccountCount() == 0) |
| 739 infobar = null; | 735 infobar = null; |
| 740 return infobar; | 736 return infobar; |
| 741 } | 737 } |
| 742 @CalledByNative("InfoBar") | 738 @CalledByNative("InfoBar") |
| 743 void dismiss(); | 739 void dismiss(); |
| 744 @SuppressWarnings("unused") | 740 @SuppressWarnings("unused") |
| 745 @CalledByNative | 741 @CalledByNative |
| 746 private static boolean shouldShowAutoLogin(ContentViewCore contentView, | 742 private static boolean shouldShowAutoLogin(View view, |
| 747 String realm, String account, String args) { | 743 String realm, String account, String args) { |
| 748 AccountManagerContainer accountManagerContainer = | 744 AccountManagerContainer accountManagerContainer = |
| 749 new AccountManagerContainer((Activity)contentView.getContext(), | 745 new AccountManagerContainer((Activity)contentView.getContext(), |
| 750 realm, account, args); | 746 realm, account, args); |
| 751 String[] logins = accountManagerContainer.getAccountLogins(null); | 747 String[] logins = accountManagerContainer.getAccountLogins(null); |
| 752 return logins.length != 0; | 748 return logins.length != 0; |
| 753 } | 749 } |
| 754 @CalledByNative | 750 @CalledByNative |
| 755 static InputStream openUrl(String url) { | 751 static InputStream openUrl(String url) { |
| 756 return null; | 752 return null; |
| 757 } | 753 } |
| 758 @CalledByNative | 754 @CalledByNative |
| 759 private void activateHardwareAcceleration(final boolean activated, | 755 private void activateHardwareAcceleration(final boolean activated, |
| 760 final int iPid, final int iType, | 756 final int iPid, final int iType, |
| 761 final int iPrimaryID, final int iSecondaryID) { | 757 final int iPrimaryID, final int iSecondaryID) { |
| 762 if (!activated) { | 758 if (!activated) { |
| 763 return | 759 return |
| 764 } | 760 } |
| 765 } | 761 } |
| 766 @CalledByNativeUnchecked | 762 @CalledByNativeUnchecked |
| 767 private void uncheckedCall(int iParam); | 763 private void uncheckedCall(int iParam); |
| 768 """ | 764 """ |
| 769 called_by_natives = jni_generator.ExtractCalledByNatives(test_data) | 765 called_by_natives = jni_generator.ExtractCalledByNatives(test_data) |
| 770 golden_called_by_natives = [ | 766 golden_called_by_natives = [ |
| 771 CalledByNative( | 767 CalledByNative( |
| 772 return_type='NativeInfoBar', | 768 return_type='OnFrameAvailableListener', |
| 773 system_class=False, | 769 system_class=False, |
| 774 static=False, | 770 static=False, |
| 775 name='showConfirmInfoBar', | 771 name='showConfirmInfoBar', |
| 776 method_id_var_name='showConfirmInfoBar', | 772 method_id_var_name='showConfirmInfoBar', |
| 777 java_class_name='', | 773 java_class_name='', |
| 778 params=[Param(datatype='int', name='nativeInfoBar'), | 774 params=[Param(datatype='int', name='nativeInfoBar'), |
| 779 Param(datatype='String', name='buttonOk'), | 775 Param(datatype='String', name='buttonOk'), |
| 780 Param(datatype='String', name='buttonCancel'), | 776 Param(datatype='String', name='buttonCancel'), |
| 781 Param(datatype='String', name='title'), | 777 Param(datatype='String', name='title'), |
| 782 Param(datatype='Bitmap', name='icon')], | 778 Param(datatype='Bitmap', name='icon')], |
| 783 env_call=('Object', ''), | 779 env_call=('Object', ''), |
| 784 unchecked=False, | 780 unchecked=False, |
| 785 ), | 781 ), |
| 786 CalledByNative( | 782 CalledByNative( |
| 787 return_type='NativeInfoBar', | 783 return_type='OnFrameAvailableListener', |
| 788 system_class=False, | 784 system_class=False, |
| 789 static=False, | 785 static=False, |
| 790 name='showAutoLoginInfoBar', | 786 name='showAutoLoginInfoBar', |
| 791 method_id_var_name='showAutoLoginInfoBar', | 787 method_id_var_name='showAutoLoginInfoBar', |
| 792 java_class_name='', | 788 java_class_name='', |
| 793 params=[Param(datatype='int', name='nativeInfoBar'), | 789 params=[Param(datatype='int', name='nativeInfoBar'), |
| 794 Param(datatype='String', name='realm'), | 790 Param(datatype='String', name='realm'), |
| 795 Param(datatype='String', name='account'), | 791 Param(datatype='String', name='account'), |
| 796 Param(datatype='String', name='args')], | 792 Param(datatype='String', name='args')], |
| 797 env_call=('Object', ''), | 793 env_call=('Object', ''), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 808 env_call=('Void', ''), | 804 env_call=('Void', ''), |
| 809 unchecked=False, | 805 unchecked=False, |
| 810 ), | 806 ), |
| 811 CalledByNative( | 807 CalledByNative( |
| 812 return_type='boolean', | 808 return_type='boolean', |
| 813 system_class=False, | 809 system_class=False, |
| 814 static=True, | 810 static=True, |
| 815 name='shouldShowAutoLogin', | 811 name='shouldShowAutoLogin', |
| 816 method_id_var_name='shouldShowAutoLogin', | 812 method_id_var_name='shouldShowAutoLogin', |
| 817 java_class_name='', | 813 java_class_name='', |
| 818 params=[Param(datatype='ContentViewCore', name='contentView'), | 814 params=[Param(datatype='View', name='view'), |
| 819 Param(datatype='String', name='realm'), | 815 Param(datatype='String', name='realm'), |
| 820 Param(datatype='String', name='account'), | 816 Param(datatype='String', name='account'), |
| 821 Param(datatype='String', name='args')], | 817 Param(datatype='String', name='args')], |
| 822 env_call=('Boolean', ''), | 818 env_call=('Boolean', ''), |
| 823 unchecked=False, | 819 unchecked=False, |
| 824 ), | 820 ), |
| 825 CalledByNative( | 821 CalledByNative( |
| 826 return_type='InputStream', | 822 return_type='InputStream', |
| 827 system_class=False, | 823 system_class=False, |
| 828 static=True, | 824 static=True, |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 913 env, g_TestJni_clazz, | 909 env, g_TestJni_clazz, |
| 914 "showConfirmInfoBar", | 910 "showConfirmInfoBar", |
| 915 | 911 |
| 916 "(" | 912 "(" |
| 917 "I" | 913 "I" |
| 918 "Ljava/lang/String;" | 914 "Ljava/lang/String;" |
| 919 "Ljava/lang/String;" | 915 "Ljava/lang/String;" |
| 920 "Ljava/lang/String;" | 916 "Ljava/lang/String;" |
| 921 "Landroid/graphics/Bitmap;" | 917 "Landroid/graphics/Bitmap;" |
| 922 ")" | 918 ")" |
| 923 "Lcom/google/android/apps/chrome/infobar/InfoBarContainer$NativeInfoBar;", | 919 "Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;", |
| 924 &g_TestJni_showConfirmInfoBar); | 920 &g_TestJni_showConfirmInfoBar); |
| 925 | 921 |
| 926 jobject ret = | 922 jobject ret = |
| 927 env->CallObjectMethod(obj, | 923 env->CallObjectMethod(obj, |
| 928 method_id, nativeInfoBar, buttonOk, buttonCancel, title, icon); | 924 method_id, nativeInfoBar, buttonOk, buttonCancel, title, icon); |
| 929 base::android::CheckException(env); | 925 base::android::CheckException(env); |
| 930 return ScopedJavaLocalRef<jobject>(env, ret); | 926 return ScopedJavaLocalRef<jobject>(env, ret); |
| 931 } | 927 } |
| 932 | 928 |
| 933 static base::subtle::AtomicWord g_TestJni_showAutoLoginInfoBar = 0; | 929 static base::subtle::AtomicWord g_TestJni_showAutoLoginInfoBar = 0; |
| 934 static ScopedJavaLocalRef<jobject> Java_TestJni_showAutoLoginInfoBar(JNIEnv* | 930 static ScopedJavaLocalRef<jobject> Java_TestJni_showAutoLoginInfoBar(JNIEnv* |
| 935 env, jobject obj, jint nativeInfoBar, | 931 env, jobject obj, jint nativeInfoBar, |
| 936 jstring realm, | 932 jstring realm, |
| 937 jstring account, | 933 jstring account, |
| 938 jstring args) { | 934 jstring args) { |
| 939 /* Must call RegisterNativesImpl() */ | 935 /* Must call RegisterNativesImpl() */ |
| 940 DCHECK(g_TestJni_clazz); | 936 DCHECK(g_TestJni_clazz); |
| 941 jmethodID method_id = | 937 jmethodID method_id = |
| 942 base::android::MethodID::LazyGet< | 938 base::android::MethodID::LazyGet< |
| 943 base::android::MethodID::TYPE_INSTANCE>( | 939 base::android::MethodID::TYPE_INSTANCE>( |
| 944 env, g_TestJni_clazz, | 940 env, g_TestJni_clazz, |
| 945 "showAutoLoginInfoBar", | 941 "showAutoLoginInfoBar", |
| 946 | 942 |
| 947 "(" | 943 "(" |
| 948 "I" | 944 "I" |
| 949 "Ljava/lang/String;" | 945 "Ljava/lang/String;" |
| 950 "Ljava/lang/String;" | 946 "Ljava/lang/String;" |
| 951 "Ljava/lang/String;" | 947 "Ljava/lang/String;" |
| 952 ")" | 948 ")" |
| 953 "Lcom/google/android/apps/chrome/infobar/InfoBarContainer$NativeInfoBar;", | 949 "Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;", |
| 954 &g_TestJni_showAutoLoginInfoBar); | 950 &g_TestJni_showAutoLoginInfoBar); |
| 955 | 951 |
| 956 jobject ret = | 952 jobject ret = |
| 957 env->CallObjectMethod(obj, | 953 env->CallObjectMethod(obj, |
| 958 method_id, nativeInfoBar, realm, account, args); | 954 method_id, nativeInfoBar, realm, account, args); |
| 959 base::android::CheckException(env); | 955 base::android::CheckException(env); |
| 960 return ScopedJavaLocalRef<jobject>(env, ret); | 956 return ScopedJavaLocalRef<jobject>(env, ret); |
| 961 } | 957 } |
| 962 | 958 |
| 963 static base::subtle::AtomicWord g_InfoBar_dismiss = 0; | 959 static base::subtle::AtomicWord g_InfoBar_dismiss = 0; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 975 "V", | 971 "V", |
| 976 &g_InfoBar_dismiss); | 972 &g_InfoBar_dismiss); |
| 977 | 973 |
| 978 env->CallVoidMethod(obj, | 974 env->CallVoidMethod(obj, |
| 979 method_id); | 975 method_id); |
| 980 base::android::CheckException(env); | 976 base::android::CheckException(env); |
| 981 | 977 |
| 982 } | 978 } |
| 983 | 979 |
| 984 static base::subtle::AtomicWord g_TestJni_shouldShowAutoLogin = 0; | 980 static base::subtle::AtomicWord g_TestJni_shouldShowAutoLogin = 0; |
| 985 static jboolean Java_TestJni_shouldShowAutoLogin(JNIEnv* env, jobject | 981 static jboolean Java_TestJni_shouldShowAutoLogin(JNIEnv* env, jobject view, |
| 986 contentView, | |
| 987 jstring realm, | 982 jstring realm, |
| 988 jstring account, | 983 jstring account, |
| 989 jstring args) { | 984 jstring args) { |
| 990 /* Must call RegisterNativesImpl() */ | 985 /* Must call RegisterNativesImpl() */ |
| 991 DCHECK(g_TestJni_clazz); | 986 DCHECK(g_TestJni_clazz); |
| 992 jmethodID method_id = | 987 jmethodID method_id = |
| 993 base::android::MethodID::LazyGet< | 988 base::android::MethodID::LazyGet< |
| 994 base::android::MethodID::TYPE_STATIC>( | 989 base::android::MethodID::TYPE_STATIC>( |
| 995 env, g_TestJni_clazz, | 990 env, g_TestJni_clazz, |
| 996 "shouldShowAutoLogin", | 991 "shouldShowAutoLogin", |
| 997 | 992 |
| 998 "(" | 993 "(" |
| 999 "Lorg/chromium/content/browser/ContentViewCore;" | 994 "Landroid/view/View;" |
| 1000 "Ljava/lang/String;" | 995 "Ljava/lang/String;" |
| 1001 "Ljava/lang/String;" | 996 "Ljava/lang/String;" |
| 1002 "Ljava/lang/String;" | 997 "Ljava/lang/String;" |
| 1003 ")" | 998 ")" |
| 1004 "Z", | 999 "Z", |
| 1005 &g_TestJni_shouldShowAutoLogin); | 1000 &g_TestJni_shouldShowAutoLogin); |
| 1006 | 1001 |
| 1007 jboolean ret = | 1002 jboolean ret = |
| 1008 env->CallStaticBooleanMethod(g_TestJni_clazz, | 1003 env->CallStaticBooleanMethod(g_TestJni_clazz, |
| 1009 method_id, contentView, realm, account, args); | 1004 method_id, view, realm, account, args); |
| 1010 base::android::CheckException(env); | 1005 base::android::CheckException(env); |
| 1011 return ret; | 1006 return ret; |
| 1012 } | 1007 } |
| 1013 | 1008 |
| 1014 static base::subtle::AtomicWord g_TestJni_openUrl = 0; | 1009 static base::subtle::AtomicWord g_TestJni_openUrl = 0; |
| 1015 static ScopedJavaLocalRef<jobject> Java_TestJni_openUrl(JNIEnv* env, jstring | 1010 static ScopedJavaLocalRef<jobject> Java_TestJni_openUrl(JNIEnv* env, jstring |
| 1016 url) { | 1011 url) { |
| 1017 /* Must call RegisterNativesImpl() */ | 1012 /* Must call RegisterNativesImpl() */ |
| 1018 DCHECK(g_TestJni_clazz); | 1013 DCHECK(g_TestJni_clazz); |
| 1019 jmethodID method_id = | 1014 jmethodID method_id = |
| (...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1525 """ | 1520 """ |
| 1526 jni_from_java = jni_generator.JNIFromJavaSource( | 1521 jni_from_java = jni_generator.JNIFromJavaSource( |
| 1527 test_data, ('com/google/lookhowextremelylongiam/snarf/' | 1522 test_data, ('com/google/lookhowextremelylongiam/snarf/' |
| 1528 'icankeepthisupallday/ReallyLongClassNamesAreAllTheRage')) | 1523 'icankeepthisupallday/ReallyLongClassNamesAreAllTheRage')) |
| 1529 jni_lines = jni_from_java.GetContent().split('\n') | 1524 jni_lines = jni_from_java.GetContent().split('\n') |
| 1530 line = filter(lambda line: line.lstrip().startswith('#ifndef'), | 1525 line = filter(lambda line: line.lstrip().startswith('#ifndef'), |
| 1531 jni_lines)[0] | 1526 jni_lines)[0] |
| 1532 self.assertTrue(len(line) > 80, | 1527 self.assertTrue(len(line) > 80, |
| 1533 ('Expected #ifndef line to be > 80 chars: ', line)) | 1528 ('Expected #ifndef line to be > 80 chars: ', line)) |
| 1534 | 1529 |
| 1530 def testExternalParamList(self): |
| 1531 script_dir = os.path.dirname(sys.argv[0]) |
| 1532 external_param_list = [os.path.join(script_dir, 'class_list.jni')] |
| 1533 jni_generator.JniParams.ReadExternalParamList(external_param_list) |
| 1534 self.assertTrue('Lorg/chromium/base/SystemMessageHandler' in |
| 1535 jni_generator.JniParams._external_param_list) |
| 1536 self.assertRaises(AssertionError, |
| 1537 jni_generator.JniParams.ReadExternalParamList, |
| 1538 external_param_list) |
| 1539 |
| 1535 if __name__ == '__main__': | 1540 if __name__ == '__main__': |
| 1536 unittest.main() | 1541 unittest.main() |
| OLD | NEW |