| 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 # TODO (qinmin): Need to refactor this file as base should not know about | 6 # TODO (qinmin): Need to refactor this file as base should not know about |
| 7 # higher level concepts. Currently this file has knowledge about higher level | 7 # higher level concepts. Currently this file has knowledge about higher level |
| 8 # java classes. | 8 # java classes. |
| 9 | 9 |
| 10 """Extracts native methods from a Java file and generates the JNI bindings. | 10 """Extracts native methods from a Java file and generates the JNI bindings. |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 'Ljava/nio/ByteBuffer', | 144 'Ljava/nio/ByteBuffer', |
| 145 'Ljava/io/InputStream', | 145 'Ljava/io/InputStream', |
| 146 'Ljava/util/Vector', | 146 'Ljava/util/Vector', |
| 147 ] | 147 ] |
| 148 app_param_list = [ | 148 app_param_list = [ |
| 149 'Landroid/graphics/SurfaceTexture', | 149 'Landroid/graphics/SurfaceTexture', |
| 150 'Lcom/google/android/apps/chrome/AutofillData', | 150 'Lcom/google/android/apps/chrome/AutofillData', |
| 151 'Lcom/google/android/apps/chrome/ChromeBrowserProvider$BookmarkNode', | 151 'Lcom/google/android/apps/chrome/ChromeBrowserProvider$BookmarkNode', |
| 152 'Lcom/google/android/apps/chrome/ChromeHttpAuthHandler', | 152 'Lcom/google/android/apps/chrome/ChromeHttpAuthHandler', |
| 153 'Lcom/google/android/apps/chrome/ChromeContextMenuInfo', | 153 'Lcom/google/android/apps/chrome/ChromeContextMenuInfo', |
| 154 'Lcom/google/android/apps/chrome/ChromeWindow', |
| 154 'Lcom/google/android/apps/chrome/OmniboxSuggestion', | 155 'Lcom/google/android/apps/chrome/OmniboxSuggestion', |
| 155 'Lcom/google/android/apps/chrome/PageInfoViewer', | 156 'Lcom/google/android/apps/chrome/PageInfoViewer', |
| 156 'Lcom/google/android/apps/chrome/Tab', | 157 'Lcom/google/android/apps/chrome/Tab', |
| 157 'Lcom/google/android/apps/chrome/database/SQLiteCursor', | 158 'Lcom/google/android/apps/chrome/database/SQLiteCursor', |
| 158 'Lcom/google/android/apps/chrome/infobar/InfoBarContainer', | 159 'Lcom/google/android/apps/chrome/infobar/InfoBarContainer', |
| 159 'Lcom/google/android/apps/chrome/infobar/InfoBarContainer$NativeInfoBar', | 160 'Lcom/google/android/apps/chrome/infobar/InfoBarContainer$NativeInfoBar', |
| 160 ('Lcom/google/android/apps/chrome/preferences/ChromeNativePreferences$' | 161 ('Lcom/google/android/apps/chrome/preferences/ChromeNativePreferences$' |
| 161 'PasswordListObserver'), | 162 'PasswordListObserver'), |
| 162 'Lorg/chromium/android_webview/AwWebContentsDelegate', | 163 'Lorg/chromium/android_webview/AwWebContentsDelegate', |
| 163 'Lorg/chromium/base/SystemMessageHandler', | 164 'Lorg/chromium/base/SystemMessageHandler', |
| 164 'Lorg/chromium/chrome/browser/ChromeWebContentsDelegateAndroid', | 165 'Lorg/chromium/chrome/browser/ChromeWebContentsDelegateAndroid', |
| 165 'Lorg/chromium/chrome/browser/FindMatchRectsDetails', | 166 'Lorg/chromium/chrome/browser/FindMatchRectsDetails', |
| 166 'Lorg/chromium/chrome/browser/FindNotificationDetails', | 167 'Lorg/chromium/chrome/browser/FindNotificationDetails', |
| 167 'Lorg/chromium/chrome/browser/JavascriptAppModalDialog', | 168 'Lorg/chromium/chrome/browser/JavascriptAppModalDialog', |
| 168 'Lorg/chromium/chrome/browser/ProcessUtils', | 169 'Lorg/chromium/chrome/browser/ProcessUtils', |
| 169 'Lorg/chromium/chrome/browser/SelectFileDialog', | |
| 170 'Lorg/chromium/chrome/browser/component/web_contents_delegate_android/WebC
ontentsDelegateAndroid', | 170 'Lorg/chromium/chrome/browser/component/web_contents_delegate_android/WebC
ontentsDelegateAndroid', |
| 171 'Lorg/chromium/content/browser/ContentVideoView', | 171 'Lorg/chromium/content/browser/ContentVideoView', |
| 172 'Lorg/chromium/content/browser/ContentViewClient', | 172 'Lorg/chromium/content/browser/ContentViewClient', |
| 173 'Lorg/chromium/content/browser/ContentViewCore', | 173 'Lorg/chromium/content/browser/ContentViewCore', |
| 174 'Lorg/chromium/content/browser/DeviceOrientation', | 174 'Lorg/chromium/content/browser/DeviceOrientation', |
| 175 'Lorg/chromium/content/browser/FindNotificationDetails', | 175 'Lorg/chromium/content/browser/FindNotificationDetails', |
| 176 'Lorg/chromium/content/browser/InterceptedRequestData', | 176 'Lorg/chromium/content/browser/InterceptedRequestData', |
| 177 'Lorg/chromium/content/browser/JavaInputStream', | 177 'Lorg/chromium/content/browser/JavaInputStream', |
| 178 'Lorg/chromium/content/browser/LocationProvider', | 178 'Lorg/chromium/content/browser/LocationProvider', |
| 179 'Lorg/chromium/content/browser/SandboxedProcessArgs', | 179 'Lorg/chromium/content/browser/SandboxedProcessArgs', |
| 180 'Lorg/chromium/content/browser/SandboxedProcessConnection', | 180 'Lorg/chromium/content/browser/SandboxedProcessConnection', |
| 181 'Lorg/chromium/content/app/SandboxedProcessService', | 181 'Lorg/chromium/content/app/SandboxedProcessService', |
| 182 'Lorg/chromium/content/browser/TouchPoint', | 182 'Lorg/chromium/content/browser/TouchPoint', |
| 183 'Lorg/chromium/content/browser/WaitableNativeEvent', | 183 'Lorg/chromium/content/browser/WaitableNativeEvent', |
| 184 'Lorg/chromium/content/browser/WebContentsObserverAndroid', | 184 'Lorg/chromium/content/browser/WebContentsObserverAndroid', |
| 185 'Lorg/chromium/content/common/DeviceInfo', | 185 'Lorg/chromium/content/common/DeviceInfo', |
| 186 'Lorg/chromium/content/common/SurfaceTextureListener', | 186 'Lorg/chromium/content/common/SurfaceTextureListener', |
| 187 'Lorg/chromium/media/MediaPlayerListener', | 187 'Lorg/chromium/media/MediaPlayerListener', |
| 188 'Lorg/chromium/net/NetworkChangeNotifier', | 188 'Lorg/chromium/net/NetworkChangeNotifier', |
| 189 'Lorg/chromium/net/ProxyChangeListener', | 189 'Lorg/chromium/net/ProxyChangeListener', |
| 190 'Lorg/chromium/ui/gfx/NativeWindow', |
| 191 'Lorg/chromium/ui/SelectFileDialog', |
| 190 ] | 192 ] |
| 191 if param == 'byte[][]': | 193 if param == 'byte[][]': |
| 192 return '[[B' | 194 return '[[B' |
| 193 prefix = '' | 195 prefix = '' |
| 194 # Array? | 196 # Array? |
| 195 if param[-2:] == '[]': | 197 if param[-2:] == '[]': |
| 196 prefix = '[' | 198 prefix = '[' |
| 197 param = param[:-2] | 199 param = param[:-2] |
| 198 # Generic? | 200 # Generic? |
| 199 if '<' in param: | 201 if '<' in param: |
| (...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 980 input_file = options.input_file | 982 input_file = options.input_file |
| 981 output_file = None | 983 output_file = None |
| 982 if options.output_dir: | 984 if options.output_dir: |
| 983 root_name = os.path.splitext(os.path.basename(input_file))[0] | 985 root_name = os.path.splitext(os.path.basename(input_file))[0] |
| 984 output_file = os.path.join(options.output_dir, root_name) + '_jni.h' | 986 output_file = os.path.join(options.output_dir, root_name) + '_jni.h' |
| 985 GenerateJNIHeader(input_file, output_file, options.namespace) | 987 GenerateJNIHeader(input_file, output_file, options.namespace) |
| 986 | 988 |
| 987 | 989 |
| 988 if __name__ == '__main__': | 990 if __name__ == '__main__': |
| 989 sys.exit(main(sys.argv)) | 991 sys.exit(main(sys.argv)) |
| OLD | NEW |