Modified: trunk/Tools/ChangeLog (119887 => 119888)
--- trunk/Tools/ChangeLog 2012-06-09 02:29:09 UTC (rev 119887)
+++ trunk/Tools/ChangeLog 2012-06-09 02:45:25 UTC (rev 119888)
@@ -1,3 +1,17 @@
+2012-06-08 Xianzhu Wang <[email protected]>
+
+ [Chromium-Android] Build DumpRenderTree with Android SDK
+ https://bugs.webkit.org/show_bug.cgi?id=88598
+
+ Change WebKit side of DRT related code according to some recent changes at chromium side.
+
+ Reviewed by Adam Barth.
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+ * Scripts/webkitpy/layout_tests/port/chromium_android.py:
+ (ChromiumAndroidPort.__init__):
+ (ChromiumAndroidPort._path_to_driver):
+
2012-06-08 Wei James <[email protected]>
Add app_abi option for DumpRenderTree_apk
Modified: trunk/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp (119887 => 119888)
--- trunk/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp 2012-06-09 02:29:09 UTC (rev 119887)
+++ trunk/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp 2012-06-09 02:45:25 UTC (rev 119888)
@@ -408,33 +408,44 @@
}],
['OS=="android"', {
# Wrap libDumpRenderTree.so into an android apk for execution.
- # See <(chromium_src_dir)/base/base.gyp for TODO(jrg)s about this strategy.
'targets': [{
'target_name': 'DumpRenderTree_apk',
'type': 'none',
'dependencies': [
+ '<(chromium_src_dir)/base/base.gyp:base_java',
+ '<(chromium_src_dir)/net/net.gyp:net_java',
+ '<(chromium_src_dir)/media/media.gyp:media_java',
'DumpRenderTree',
],
+ 'variables': {
+ 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)DumpRenderTree<(SHARED_LIB_SUFFIX)',
+ 'input_jars_paths': [
+ '<(PRODUCT_DIR)/lib.java/chromium_base.jar',
+ '<(PRODUCT_DIR)/lib.java/chromium_net.jar',
+ '<(PRODUCT_DIR)/lib.java/chromium_media.jar',
+ ],
+ },
+ # Part of the following was copied from <(chromium_src_dir)/build/apk_test.gpyi.
+ # Not including it because gyp include doesn't support variable in path or under
+ # conditions. And we also have some different requirements.
'actions': [{
- # Generate apk files (including source and antfile) from
- # a template, and builds them.
- 'action_name': 'generate_and_build',
+ 'action_name': 'apk_DumpRenderTree',
+ 'message': 'Building DumpRenderTree test apk.',
'inputs': [
+ '<(chromium_src_dir)/testing/android/AndroidManifest.xml',
'<(chromium_src_dir)/testing/android/generate_native_test.py',
- '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)DumpRenderTree<(SHARED_LIB_SUFFIX)',
- # FIXME: Build the jar for native tests with SDK.
- # For now we are using Android.mk to build the apk.
+ '<(input_shlib_path)',
+ '<@(input_jars_paths)',
],
'outputs': [
- '<(PRODUCT_DIR)/DumpRenderTree_apk/ChromeNativeTests-debug.apk',
+ '<(PRODUCT_DIR)/DumpRenderTree_apk/DumpRenderTree-debug.apk',
],
'action': [
'<(chromium_src_dir)/testing/android/generate_native_test.py',
'--native_library',
- '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)DumpRenderTree<(SHARED_LIB_SUFFIX)',
- # FIXME: Build the jar for native tests with SDK.
- # '--jar',
- # 'foo/bar.jar',
+ '<(input_shlib_path)',
+ '--jars',
+ '"<@(input_jars_paths)"',
'--output',
'<(PRODUCT_DIR)/DumpRenderTree_apk',
'--ant-args',
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py (119887 => 119888)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py 2012-06-09 02:29:09 UTC (rev 119887)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py 2012-06-09 02:45:25 UTC (rev 119888)
@@ -152,6 +152,12 @@
def __init__(self, host, port_name, **kwargs):
chromium.ChromiumPort.__init__(self, host, port_name, **kwargs)
+ # FIXME: Stop using test_shell mode: https://bugs.webkit.org/show_bug.cgi?id=88542
+ if not hasattr(self._options, 'additional_drt_flag'):
+ self._options.additional_drt_flag = []
+ if not '--test-shell' in self._options.additional_drt_flag:
+ self._options.additional_drt_flag.append('--test-shell')
+
# The Chromium port for Android always uses the hardware GPU path.
self._options.enable_hardware_gpu = True
@@ -267,7 +273,7 @@
def _path_to_driver(self, configuration=None):
if not configuration:
configuration = self.get_option('configuration')
- return self._build_path(configuration, 'DumpRenderTree_apk/ChromeNativeTests-debug.apk')
+ return self._build_path(configuration, 'DumpRenderTree_apk/DumpRenderTree-debug.apk')
def _path_to_helper(self):
return self._build_path(self.get_option('configuration'), 'forwarder')