1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 """Chromium presubmit script for src/extensions/browser.
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8 for more details on the presubmit API built into depot_tools.
13 def _CreateHistogramValueChecker(input_api
, output_api
, path
):
14 original_sys_path
= sys
.path
17 sys
.path
.append(input_api
.os_path
.join(
18 input_api
.PresubmitLocalPath(), '..', '..', 'tools',
19 'strict_enum_value_checker'))
20 from strict_enum_value_checker
import StrictEnumValueChecker
22 sys
.path
= original_sys_path
24 return StrictEnumValueChecker(input_api
, output_api
,
25 start_marker
='enum HistogramValue {', end_marker
=' // Last entry:',
29 def _RunHistogramValueCheckers(input_api
, output_api
):
31 histogram_paths
= ('extensions/browser/extension_event_histogram_value.h',
32 'extensions/browser/extension_function_histogram_value.h')
33 for path
in histogram_paths
:
34 results
+= _CreateHistogramValueChecker(input_api
, output_api
, path
).Run()
38 def CheckChangeOnUpload(input_api
, output_api
):
40 results
+= _RunHistogramValueCheckers(input_api
, output_api
)
41 results
+= input_api
.canned_checks
.CheckPatchFormatted(input_api
, output_api
)
45 def CheckChangeOnCommit(input_api
, output_api
):
46 return _RunHistogramValueCheckers(input_api
, output_api
)