text: # Copyright 2017 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.
  
  """Presubmit script for changes affecting chrome/browser/android/vr
  
  See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
  for more details about the presubmit API built into depot_tools.
  """
  
  import re
  
  # chrome/PRESUBMIT.py blocks several linters due to the infeasibility of
  # enforcing them on a large codebase. Here we'll start by enforcing all
  # linters, and add exclusions if necessary.
  #
  # Note that this list must be non-empty, or cpplint will use its default set of
  # filters.
  LINT_FILTERS = [
    '-build/include',
  ]
  
  VERBOSITY_LEVEL = 4
  
  INCLUDE_CPP_FILES_ONLY = (r'.*\.(cc|h)$',)
  
  def _CheckChangeLintsClean(input_api, output_api):
    sources = lambda x: input_api.FilterSourceFile(
        x, white_list=INCLUDE_CPP_FILES_ONLY)
    return input_api.canned_checks.CheckChangeLintsClean(
        input_api, output_api, sources, LINT_FILTERS, VERBOSITY_LEVEL)
  
  def CheckChangeOnUpload(input_api, output_api):
    results = []
    results.extend(_CheckChangeLintsClean(input_api, output_api))
    return results
  
  def CheckChangeOnCommit(input_api, output_api):
    results = []
    results.extend(_CheckChangeLintsClean(input_api, output_api))
    return results
  