# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
  'conditions': [
    ['OS=="android" or OS=="linux"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/chrome.pak',
        ],
        'isolate_dependency_untracked': [
          '<(PRODUCT_DIR)/test_data/',
        ],
      },
    }],
    ['OS=="android" or OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/resources.pak',
        ],
        'isolate_dependency_untracked': [
          '../base/test/data/',
          '../components/test/data/',
          '../extensions/test/data/',
          '../net/data/',
          '../third_party/accessibility-developer-tools/gen/',
          '../third_party/hunspell_dictionaries/',
          '../third_party/zlib/google/test/data/',
          'test/data/',
          'third_party/mock4js/',
        ],
      },
    }],
    ['OS=="android" or OS=="linux" or OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/chrome_100_percent.pak',
          '<(PRODUCT_DIR)/locales/en-US.pak',
        ],
      },
    }],
    ['OS=="linux"', {
      'variables': {
        'command': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)',
          '../tools/swarm_client/googletest/run_test_cases.py',
          '<(PRODUCT_DIR)/unit_tests<(EXECUTABLE_SUFFIX)',
        ],
        'isolate_dependency_tracked': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)/libffmpegsumo.so',
          '<(PRODUCT_DIR)/locales/fr.pak',
          '<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)',
        ],
        'isolate_dependency_touched': [
          '<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '../testing/test_env.py',
          '../tools/swarm_client/run_isolated.py',
          '../tools/swarm_client/googletest/run_test_cases.py',
          '<(PRODUCT_DIR)/unit_tests<(EXECUTABLE_SUFFIX)',
          'browser/safe_browsing/two_phase_testserver.py',
        ],
        'isolate_dependency_untracked': [
          '../net/tools/testserver/',
          '../third_party/pyftpdlib/',
          '../third_party/pywebsocket/',
          '../third_party/tlslite/',
          '<(PRODUCT_DIR)/pyproto/',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/ffmpegsumo.so',
        ],
        'isolate_dependency_untracked': [
          '<(PRODUCT_DIR)/Chromium Framework.framework/',
        ],
      },
    }],
    ['OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '../testing/test_env.py',
          '../tools/swarm_client/googletest/run_test_cases.py',
          '<(PRODUCT_DIR)/unit_tests<(EXECUTABLE_SUFFIX)',
        ],
        'isolate_dependency_untracked': [
          '<(PRODUCT_DIR)/test_data/chrome/browser/resources/google_now/',
          '<(PRODUCT_DIR)/test_data/chrome/browser/resources/print_preview/',
          '<(PRODUCT_DIR)/test_data/chrome/test/data/unit/',
          '<(PRODUCT_DIR)/test_data/ui/',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/ffmpegsumo.dll',
          '<(PRODUCT_DIR)/icudt.dll',
        ],
        'isolate_dependency_untracked': [
          '../ppapi/lib/gl/include/KHR/',
          '../skia/ext/data/',
          '../third_party/python_26/',
          '../ui/base/glib/',
        ],
      },
    }],
  ],
}
