# Copyright 2015 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"', {
      'variables': {
        'files': [
          '<(DEPTH)/android_webview/tools/WebViewShell/test/',
          '<(DEPTH)/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt',
          '<(DEPTH)/third_party/WebKit/LayoutTests/webexposed/global-interface-listing.html',
          '<(DEPTH)/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt',
          '<(DEPTH)/third_party/WebKit/LayoutTests/webexposed/resources/global-interface-listing.js',
        ],
      },
    }],
  ],
}