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 'Landroid/webkit/ValueCallback', | 144 'Landroid/webkit/ValueCallback', |
145 'Ljava/io/InputStream', | 145 'Ljava/io/InputStream', |
146 'Ljava/nio/ByteBuffer', | 146 'Ljava/nio/ByteBuffer', |
147 'Ljava/util/Vector', | 147 'Ljava/util/Vector', |
148 ] | 148 ] |
149 app_param_list = [ | 149 app_param_list = [ |
150 'Landroid/graphics/SurfaceTexture', | 150 'Landroid/graphics/SurfaceTexture', |
151 'Lcom/google/android/apps/chrome/AutofillData', | 151 'Lcom/google/android/apps/chrome/AutofillData', |
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/AwContents', | 163 'Lorg/chromium/android_webview/AwContents', |
163 'Lorg/chromium/android_webview/AwContentsClient', | 164 'Lorg/chromium/android_webview/AwContentsClient', |
164 'Lorg/chromium/android_webview/AwHttpAuthHandler', | 165 'Lorg/chromium/android_webview/AwHttpAuthHandler', |
165 'Lorg/chromium/android_webview/AwWebContentsDelegate', | 166 'Lorg/chromium/android_webview/AwWebContentsDelegate', |
166 'Lorg/chromium/base/SystemMessageHandler', | 167 'Lorg/chromium/base/SystemMessageHandler', |
167 'Lorg/chromium/chrome/browser/ChromeBrowserProvider$BookmarkNode', | 168 'Lorg/chromium/chrome/browser/ChromeBrowserProvider$BookmarkNode', |
168 'Lorg/chromium/chrome/browser/ChromeWebContentsDelegateAndroid', | 169 'Lorg/chromium/chrome/browser/ChromeWebContentsDelegateAndroid', |
169 'Lorg/chromium/chrome/browser/FindMatchRectsDetails', | 170 'Lorg/chromium/chrome/browser/FindMatchRectsDetails', |
170 'Lorg/chromium/chrome/browser/FindNotificationDetails', | 171 'Lorg/chromium/chrome/browser/FindNotificationDetails', |
171 'Lorg/chromium/chrome/browser/JavascriptAppModalDialog', | 172 'Lorg/chromium/chrome/browser/JavascriptAppModalDialog', |
172 'Lorg/chromium/chrome/browser/ProcessUtils', | 173 'Lorg/chromium/chrome/browser/ProcessUtils', |
173 'Lorg/chromium/chrome/browser/SelectFileDialog', | |
174 'Lorg/chromium/chrome/browser/component/web_contents_delegate_android/WebC
ontentsDelegateAndroid', | 174 'Lorg/chromium/chrome/browser/component/web_contents_delegate_android/WebC
ontentsDelegateAndroid', |
175 'Lorg/chromium/content/browser/ContentVideoView', | 175 'Lorg/chromium/content/browser/ContentVideoView', |
176 'Lorg/chromium/content/browser/ContentViewClient', | 176 'Lorg/chromium/content/browser/ContentViewClient', |
177 'Lorg/chromium/content/browser/ContentViewCore', | 177 'Lorg/chromium/content/browser/ContentViewCore', |
178 'Lorg/chromium/content/browser/DeviceOrientation', | 178 'Lorg/chromium/content/browser/DeviceOrientation', |
179 'Lorg/chromium/content/browser/FindNotificationDetails', | 179 'Lorg/chromium/content/browser/FindNotificationDetails', |
180 'Lorg/chromium/content/browser/InterceptedRequestData', | 180 'Lorg/chromium/content/browser/InterceptedRequestData', |
181 'Lorg/chromium/content/browser/JavaInputStream', | 181 'Lorg/chromium/content/browser/JavaInputStream', |
182 'Lorg/chromium/content/browser/LocationProvider', | 182 'Lorg/chromium/content/browser/LocationProvider', |
183 'Lorg/chromium/content/browser/SandboxedProcessArgs', | 183 'Lorg/chromium/content/browser/SandboxedProcessArgs', |
184 'Lorg/chromium/content/browser/SandboxedProcessConnection', | 184 'Lorg/chromium/content/browser/SandboxedProcessConnection', |
185 'Lorg/chromium/content/app/SandboxedProcessService', | 185 'Lorg/chromium/content/app/SandboxedProcessService', |
186 'Lorg/chromium/content/browser/TouchPoint', | 186 'Lorg/chromium/content/browser/TouchPoint', |
187 'Lorg/chromium/content/browser/WaitableNativeEvent', | 187 'Lorg/chromium/content/browser/WaitableNativeEvent', |
188 'Lorg/chromium/content/browser/WebContentsObserverAndroid', | 188 'Lorg/chromium/content/browser/WebContentsObserverAndroid', |
189 'Lorg/chromium/content/common/DeviceInfo', | 189 'Lorg/chromium/content/common/DeviceInfo', |
190 'Lorg/chromium/content/common/SurfaceTextureListener', | 190 'Lorg/chromium/content/common/SurfaceTextureListener', |
191 'Lorg/chromium/media/MediaPlayerListener', | 191 'Lorg/chromium/media/MediaPlayerListener', |
192 'Lorg/chromium/net/NetworkChangeNotifier', | 192 'Lorg/chromium/net/NetworkChangeNotifier', |
193 'Lorg/chromium/net/ProxyChangeListener', | 193 'Lorg/chromium/net/ProxyChangeListener', |
| 194 'Lorg/chromium/ui/gfx/NativeWindow', |
| 195 'Lorg/chromium/ui/SelectFileDialog', |
194 ] | 196 ] |
195 if param == 'byte[][]': | 197 if param == 'byte[][]': |
196 return '[[B' | 198 return '[[B' |
197 prefix = '' | 199 prefix = '' |
198 # Array? | 200 # Array? |
199 if param[-2:] == '[]': | 201 if param[-2:] == '[]': |
200 prefix = '[' | 202 prefix = '[' |
201 param = param[:-2] | 203 param = param[:-2] |
202 # Generic? | 204 # Generic? |
203 if '<' in param: | 205 if '<' in param: |
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
984 input_file = options.input_file | 986 input_file = options.input_file |
985 output_file = None | 987 output_file = None |
986 if options.output_dir: | 988 if options.output_dir: |
987 root_name = os.path.splitext(os.path.basename(input_file))[0] | 989 root_name = os.path.splitext(os.path.basename(input_file))[0] |
988 output_file = os.path.join(options.output_dir, root_name) + '_jni.h' | 990 output_file = os.path.join(options.output_dir, root_name) + '_jni.h' |
989 GenerateJNIHeader(input_file, output_file, options.namespace) | 991 GenerateJNIHeader(input_file, output_file, options.namespace) |
990 | 992 |
991 | 993 |
992 if __name__ == '__main__': | 994 if __name__ == '__main__': |
993 sys.exit(main(sys.argv)) | 995 sys.exit(main(sys.argv)) |
OLD | NEW |