summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorbulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-08 15:18:24 +0000
committerbulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-08 15:18:24 +0000
commit2fe93d818d1951530671d9e4088dac19bc976d55 (patch)
tree974ecc287f1e2db740e99d0b97a5d1f4f9071c8e /base
parente5a757a38db8a592bff0e0e0efff850f382dc328 (diff)
downloadchromium_src-2fe93d818d1951530671d9e4088dac19bc976d55.zip
chromium_src-2fe93d818d1951530671d9e4088dac19bc976d55.tar.gz
chromium_src-2fe93d818d1951530671d9e4088dac19bc976d55.tar.bz2
Chrome for Android unfork.
Upstream latest changes on jni_generator.py. BUG= TEST=base/android/jni_generator/jni_generator_tests.py Review URL: http://codereview.chromium.org/9622004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125613 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/android/jni_generator/jni_generator.py114
1 files changed, 46 insertions, 68 deletions
diff --git a/base/android/jni_generator/jni_generator.py b/base/android/jni_generator/jni_generator.py
index 8cccb3e..7b1838d 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 + ';'