| Index: build/android/buildbot/bb_device_steps.py
 | 
| diff --git a/build/android/buildbot/bb_device_steps.py b/build/android/buildbot/bb_device_steps.py
 | 
| index e1858cef8b80da2f6e4c8be10d548a729a04e504..a53bb563035ed50166385d276c627177c8dcbb32 100755
 | 
| --- a/build/android/buildbot/bb_device_steps.py
 | 
| +++ b/build/android/buildbot/bb_device_steps.py
 | 
| @@ -43,36 +43,40 @@ GS_AUTH_URL = 'https://storage.cloud.google.com'
 | 
|  #   annotation: Annotation of the tests to include.
 | 
|  #   exclude_annotation: The annotation of the tests to exclude.
 | 
|  I_TEST = collections.namedtuple('InstrumentationTest', [
 | 
| -    'name', 'apk', 'apk_package', 'test_apk', 'test_data', 'host_driven_root',
 | 
| -    'annotation', 'exclude_annotation', 'extra_flags'])
 | 
| +    'name', 'apk', 'apk_package', 'test_apk', 'test_data', 'isolate_file_path',
 | 
| +    'host_driven_root', 'annotation', 'exclude_annotation', 'extra_flags'])
 | 
|  
 | 
|  
 | 
|  def SrcPath(*path):
 | 
|    return os.path.join(CHROME_SRC_DIR, *path)
 | 
|  
 | 
|  
 | 
| -def I(name, apk, apk_package, test_apk, test_data, host_driven_root=None,
 | 
| -      annotation=None, exclude_annotation=None, extra_flags=None):
 | 
| -  return I_TEST(name, apk, apk_package, test_apk, test_data, host_driven_root,
 | 
| -                annotation, exclude_annotation, extra_flags)
 | 
| +def I(name, apk, apk_package, test_apk, test_data, isolate_file_path=None,
 | 
| +      host_driven_root=None, annotation=None, exclude_annotation=None,
 | 
| +      extra_flags=None):
 | 
| +  return I_TEST(name, apk, apk_package, test_apk, test_data, isolate_file_path,
 | 
| +                host_driven_root, annotation, exclude_annotation, extra_flags)
 | 
|  
 | 
|  INSTRUMENTATION_TESTS = dict((suite.name, suite) for suite in [
 | 
|      I('ContentShell',
 | 
|        'ContentShell.apk',
 | 
|        'org.chromium.content_shell_apk',
 | 
|        'ContentShellTest',
 | 
| -      'content:content/test/data/android/device_files'),
 | 
| +      'content:content/test/data/android/device_files',
 | 
| +      isolate_file_path='content/content_shell_test_apk.isolate'),
 | 
|      I('ChromeShell',
 | 
|        'ChromeShell.apk',
 | 
|        'org.chromium.chrome.shell',
 | 
|        'ChromeShellTest',
 | 
|        'chrome:chrome/test/data/android/device_files',
 | 
| -      constants.CHROME_SHELL_HOST_DRIVEN_DIR),
 | 
| +      isolate_file_path='chrome/chrome_shell_test_apk.isolate',
 | 
| +      host_driven_root=constants.CHROME_SHELL_HOST_DRIVEN_DIR),
 | 
|      I('AndroidWebView',
 | 
|        'AndroidWebView.apk',
 | 
|        'org.chromium.android_webview.shell',
 | 
|        'AndroidWebViewTest',
 | 
| -      'webview:android_webview/test/data/device_files'),
 | 
| +      'webview:android_webview/test/data/device_files',
 | 
| +      isolate_file_path='android_webview/android_webview_test_apk.isolate'),
 | 
|      I('ChromeSyncShell',
 | 
|        'ChromeSyncShell.apk',
 | 
|        'org.chromium.chrome.browser.sync',
 | 
| @@ -265,6 +269,8 @@ def RunInstrumentationSuite(options, test, flunk_on_failure=True,
 | 
|                  options.flakiness_server)
 | 
|    if options.coverage_bucket:
 | 
|      args.append('--coverage-dir=%s' % options.coverage_dir)
 | 
| +  if test.isolate_file_path:
 | 
| +    args.append('--isolate-file-path=%s' % test.isolate_file_path)
 | 
|    if test.host_driven_root:
 | 
|      args.append('--host-driven-root=%s' % test.host_driven_root)
 | 
|    if test.annotation:
 | 
| @@ -340,13 +346,13 @@ def RunWebkitLayoutTests(options):
 | 
|        unexpected_passes, unexpected_failures, unexpected_flakes = (
 | 
|            _ParseLayoutTestResults(full_results))
 | 
|        if unexpected_failures:
 | 
| -        _PrintDashboardLink('failed', unexpected_failures,
 | 
| +        _PrintDashboardLink('failed', unexpected_failures.keys(),
 | 
|                              max_tests=25)
 | 
|        elif unexpected_passes:
 | 
| -        _PrintDashboardLink('unexpected passes', unexpected_passes,
 | 
| +        _PrintDashboardLink('unexpected passes', unexpected_passes.keys(),
 | 
|                              max_tests=10)
 | 
|        if unexpected_flakes:
 | 
| -        _PrintDashboardLink('unexpected flakes', unexpected_flakes,
 | 
| +        _PrintDashboardLink('unexpected flakes', unexpected_flakes.keys(),
 | 
|                              max_tests=10)
 | 
|  
 | 
|        if exit_code == 0 and (unexpected_passes or unexpected_flakes):
 | 
| 
 |