| Index: third_party/WebKit/Source/core/frame/PRESUBMIT.py
 | 
| diff --git a/third_party/WebKit/Source/core/frame/PRESUBMIT.py b/third_party/WebKit/Source/core/frame/PRESUBMIT.py
 | 
| index eba4c2f66424070ec1a33f4ddb8ae72efd61c7ba..67c2ee8d78ee2c2a3b3eb6efafd59171cd2f0ae0 100644
 | 
| --- a/third_party/WebKit/Source/core/frame/PRESUBMIT.py
 | 
| +++ b/third_party/WebKit/Source/core/frame/PRESUBMIT.py
 | 
| @@ -49,9 +49,51 @@ def _RunUseCounterChecks(input_api, output_api):
 | 
|      return []
 | 
|  
 | 
|  
 | 
| +def _RunUmaHistogramChecks(input_api, output_api):
 | 
| +    import sys
 | 
| +
 | 
| +    original_sys_path = sys.path
 | 
| +    try:
 | 
| +        sys.path = sys.path + [input_api.os_path.join(
 | 
| +            input_api.PresubmitLocalPath(), '..', '..', '..', '..', '..',
 | 
| +            'tools', 'metrics', 'histograms')]
 | 
| +        import update_histogram_enum
 | 
| +    finally:
 | 
| +        sys.path = original_sys_path
 | 
| +
 | 
| +    source_path = ''
 | 
| +    for f in input_api.AffectedFiles():
 | 
| +        if f.LocalPath().endswith('UseCounter.h'):
 | 
| +            source_path = f.LocalPath()
 | 
| +            break
 | 
| +    else:
 | 
| +        return []
 | 
| +
 | 
| +    START_MARKER = '^enum Feature {'
 | 
| +    END_MARKER = '^NumberOfFeatures'
 | 
| +    if update_histogram_enum.HistogramNeedsUpdate(
 | 
| +            histogram_enum_name='FeatureObserver',
 | 
| +            source_enum_path=source_path,
 | 
| +            start_marker=START_MARKER,
 | 
| +            end_marker=END_MARKER):
 | 
| +        return [output_api.PresubmitPromptWarning(
 | 
| +            'UseCounter::Feature has been updated and the UMA mapping needs to '
 | 
| +            'be regenerated. Please run update_use_counter_feature_enum.py in '
 | 
| +            'src/tools/metrics/histograms/ to update the mapping.',
 | 
| +            items=[source_path])]
 | 
| +
 | 
| +    return []
 | 
| +
 | 
| +
 | 
|  def CheckChangeOnUpload(input_api, output_api):
 | 
| -    return _RunUseCounterChecks(input_api, output_api)
 | 
| +    results = []
 | 
| +    results.extend(_RunUseCounterChecks(input_api, output_api))
 | 
| +    results.extend(_RunUmaHistogramChecks(input_api, output_api))
 | 
| +    return results
 | 
|  
 | 
|  
 | 
|  def CheckChangeOnCommit(input_api, output_api):
 | 
| -    return _RunUseCounterChecks(input_api, output_api)
 | 
| +    results = []
 | 
| +    results.extend(_RunUseCounterChecks(input_api, output_api))
 | 
| +    results.extend(_RunUmaHistogramChecks(input_api, output_api))
 | 
| +    return results
 | 
| 
 |