OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Blink frame presubmit script | 5 """Blink frame presubmit script |
6 | 6 |
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
8 for more details about the presubmit API built into gcl. | 8 for more details about the presubmit API built into gcl. |
9 """ | 9 """ |
10 | 10 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 | 42 |
43 return [message_type( | 43 return [message_type( |
44 'Largest found CSSProperty bucket Id (%d) does not match ' | 44 'Largest found CSSProperty bucket Id (%d) does not match ' |
45 'maximumCSSSampleId (%d)' % | 45 'maximumCSSSampleId (%d)' % |
46 (largestFoundBucket, maximumBucket), | 46 (largestFoundBucket, maximumBucket), |
47 items=[useCounterCpp.LocalPath()])] | 47 items=[useCounterCpp.LocalPath()])] |
48 | 48 |
49 return [] | 49 return [] |
50 | 50 |
51 | 51 |
| 52 def _RunUmaHistogramChecks(input_api, output_api): |
| 53 import sys |
| 54 |
| 55 original_sys_path = sys.path |
| 56 try: |
| 57 sys.path = sys.path + [input_api.os_path.join( |
| 58 input_api.PresubmitLocalPath(), '..', '..', '..', '..', '..', |
| 59 'tools', 'metrics', 'histograms')] |
| 60 import update_histogram_enum |
| 61 finally: |
| 62 sys.path = original_sys_path |
| 63 |
| 64 source_path = '' |
| 65 for f in input_api.AffectedFiles(): |
| 66 if f.LocalPath().endswith('UseCounter.h'): |
| 67 source_path = f.LocalPath() |
| 68 break |
| 69 else: |
| 70 return [] |
| 71 |
| 72 START_MARKER = '^enum Feature {' |
| 73 END_MARKER = '^NumberOfFeatures' |
| 74 if update_histogram_enum.HistogramNeedsUpdate( |
| 75 histogram_enum_name='FeatureObserver', |
| 76 source_enum_path=source_path, |
| 77 start_marker=START_MARKER, |
| 78 end_marker=END_MARKER): |
| 79 return [output_api.PresubmitPromptWarning( |
| 80 'UseCounter::Feature has been updated and the UMA mapping needs to ' |
| 81 'be regenerated. Please run update_use_counter_feature_enum.py in ' |
| 82 'src/tools/metrics/histograms/ to update the mapping.', |
| 83 items=[source_path])] |
| 84 |
| 85 return [] |
| 86 |
| 87 |
52 def CheckChangeOnUpload(input_api, output_api): | 88 def CheckChangeOnUpload(input_api, output_api): |
53 return _RunUseCounterChecks(input_api, output_api) | 89 results = [] |
| 90 results.extend(_RunUseCounterChecks(input_api, output_api)) |
| 91 results.extend(_RunUmaHistogramChecks(input_api, output_api)) |
| 92 return results |
54 | 93 |
55 | 94 |
56 def CheckChangeOnCommit(input_api, output_api): | 95 def CheckChangeOnCommit(input_api, output_api): |
57 return _RunUseCounterChecks(input_api, output_api) | 96 results = [] |
| 97 results.extend(_RunUseCounterChecks(input_api, output_api)) |
| 98 results.extend(_RunUmaHistogramChecks(input_api, output_api)) |
| 99 return results |
OLD | NEW |