| Index: base/android/jni_generator/jni_generator.py
|
| diff --git a/base/android/jni_generator/jni_generator.py b/base/android/jni_generator/jni_generator.py
|
| index 8cccb3e8d7d767b9465099705545de7556c42d4a..7b1838d5a9a36855da8db69429aaa88bd1129489 100644
|
| --- a/base/android/jni_generator/jni_generator.py
|
| +++ b/base/android/jni_generator/jni_generator.py
|
| @@ -122,83 +122,61 @@ def JavaParamToJni(param):
|
| 'byte': 'B',
|
| 'void': 'V',
|
| }
|
| - object_param_map = {
|
| - 'String': 'Ljava/lang/String',
|
| - 'Boolean': 'Ljava/lang/Boolean',
|
| - 'Integer': 'Ljava/lang/Integer',
|
| - 'Long': 'Ljava/lang/Long',
|
| - 'Object': 'Ljava/lang/Object',
|
| - 'List': 'Ljava/util/List',
|
| - 'ArrayList': 'Ljava/util/ArrayList',
|
| - 'HashMap': 'Ljava/util/HashMap',
|
| - 'Bitmap': 'Landroid/graphics/Bitmap',
|
| - 'Context': 'Landroid/content/Context',
|
| - 'Canvas': 'Landroid/graphics/Canvas',
|
| - 'Surface': 'Landroid/view/Surface',
|
| - 'KeyEvent': 'Landroid/view/KeyEvent',
|
| - 'Rect': 'Landroid/graphics/Rect',
|
| - 'RectF': 'Landroid/graphics/RectF',
|
| - 'View': 'Landroid/view/View',
|
| - 'Matrix': 'Landroid/graphics/Matrix',
|
| - 'Point': 'Landroid/graphics/Point',
|
| - 'ByteBuffer': 'Ljava/nio/ByteBuffer',
|
| - 'InputStream': 'Ljava/io/InputStream',
|
| - }
|
| - app_param_map = {
|
| - 'ChromeView':
|
| + object_param_list = [
|
| + 'Ljava/lang/String',
|
| + 'Ljava/lang/Boolean',
|
| + 'Ljava/lang/Integer',
|
| + 'Ljava/lang/Long',
|
| + 'Ljava/lang/Object',
|
| + 'Ljava/util/List',
|
| + 'Ljava/util/ArrayList',
|
| + 'Ljava/util/HashMap',
|
| + 'Landroid/graphics/Bitmap',
|
| + 'Landroid/content/Context',
|
| + 'Landroid/graphics/Canvas',
|
| + 'Landroid/view/Surface',
|
| + 'Landroid/view/KeyEvent',
|
| + 'Landroid/graphics/Rect',
|
| + 'Landroid/graphics/RectF',
|
| + 'Landroid/view/View',
|
| + 'Landroid/graphics/Matrix',
|
| + 'Landroid/graphics/Point',
|
| + 'Ljava/nio/ByteBuffer',
|
| + 'Ljava/io/InputStream',
|
| + 'Ljava/util/Vector',
|
| + ]
|
| + app_param_list = [
|
| 'Lorg/chromium/chromeview/ChromeView',
|
| -
|
| - 'Tab':
|
| 'Lcom/android/chrome/Tab',
|
| -
|
| - 'TouchPoint':
|
| 'Lorg/chromium/chromeview/TouchPoint',
|
| -
|
| - 'SurfaceTexture':
|
| 'Landroid/graphics/SurfaceTexture',
|
| -
|
| - 'ChromeViewClient':
|
| 'Lorg/chromium/chromeview/ChromeViewClient',
|
| -
|
| - 'JSModalDialog':
|
| 'Lcom/android/chrome/JSModalDialog',
|
| -
|
| - 'NativeInfoBar':
|
| 'Lcom/android/chrome/infobar/InfoBarContainer$NativeInfoBar',
|
| -
|
| - 'OmniboxSuggestion':
|
| 'Lcom/android/chrome/OmniboxSuggestion',
|
| -
|
| - 'PasswordListObserver':
|
| - 'Lorg/chromium/chromeview/ChromePreferences$PasswordListObserver',
|
| -
|
| - 'SandboxedProcessArgs': 'Lorg/chromium/chromeview/SandboxedProcessArgs',
|
| -
|
| - 'SandboxedProcessConnection':
|
| + ('Lcom/android/chrome/preferences/ChromeNativePreferences$'
|
| + 'PasswordListObserver'),
|
| + 'Lorg/chromium/chromeview/SandboxedProcessArgs',
|
| 'Lorg/chromium/chromeview/SandboxedProcessConnection',
|
| -
|
| - 'SandboxedProcessService':
|
| 'Lorg/chromium/chromeview/SandboxedProcessService',
|
| -
|
| - 'BookmarkNode': 'Lcom/android/chrome/ChromeBrowserProvider$BookmarkNode',
|
| -
|
| - 'SQLiteCursor': 'Lcom/android/chrome/database/SQLiteCursor',
|
| -
|
| - 'FindResultReceivedListener.FindNotificationDetails':
|
| + 'Lcom/android/chrome/ChromeBrowserProvider$BookmarkNode',
|
| + 'Lcom/android/chrome/database/SQLiteCursor',
|
| ('Lorg/chromium/chromeview/ChromeView$'
|
| 'FindResultReceivedListener$FindNotificationDetails'),
|
| -
|
| - 'ChromeViewContextMenuInfo':
|
| 'Lorg/chromium/chromeview/ChromeView$ChromeViewContextMenuInfo',
|
| -
|
| - 'AutofillData': 'Lorg/chromium/chromeview/AutofillData',
|
| -
|
| - 'JavaInputStream': 'Lorg/chromium/chromeview/JavaInputStream',
|
| -
|
| - 'ChromeVideoView': 'Lorg/chromium/chromeview/ChromeVideoView',
|
| -
|
| - 'ChromeHttpAuthHandler': 'Lorg/chromium/chromeview/ChromeHttpAuthHandler',
|
| - }
|
| + 'Lorg/chromium/chromeview/AutofillData',
|
| + 'Lorg/chromium/chromeview/JavaInputStream',
|
| + 'Lorg/chromium/chromeview/ChromeVideoView',
|
| + 'Lorg/chromium/chromeview/ChromeHttpAuthHandler',
|
| + 'Lorg/chromium/base/SystemMessageHandler',
|
| + 'Lorg/chromium/chromeview/SelectFileDialog',
|
| + 'Lorg/chromium/chromeview/SurfaceTextureListener',
|
| + 'Lorg/chromium/chromeview/DeviceOrientation',
|
| + 'Lorg/chromium/chromeview/MediaPlayerListener',
|
| + 'Lorg/chromium/chromeview/DeviceInfo',
|
| + 'Lorg/chromium/chromeview/LocationProvider',
|
| + 'Lcom/android/chrome/PageInfoViewer',
|
| + ]
|
| if param == 'byte[][]':
|
| return '[[B'
|
| prefix = ''
|
| @@ -211,10 +189,10 @@ def JavaParamToJni(param):
|
| param = param[:param.index('<')]
|
| if param in pod_param_map:
|
| return prefix + pod_param_map[param]
|
| - elif param in object_param_map:
|
| - return prefix + object_param_map[param] + ';'
|
| - elif param in app_param_map:
|
| - return prefix + app_param_map[param] + ';'
|
| + for qualified_name in object_param_list + app_param_list:
|
| + if (qualified_name.endswith('/' + param) or
|
| + qualified_name.endswith('$' + param.replace('.', '$'))):
|
| + return prefix + qualified_name + ';'
|
| else:
|
| return UNKNOWN_JAVA_TYPE_PREFIX + prefix + param + ';'
|
|
|
|
|