
Replace an error with a prompt warning to gracefully handle false positives when the patch touches existing code. R=haraken@chromium.org CC=hajimehoshi@chromium.org,farahcharab@chromium.org Change-Id: I979f1b72dd515b30df5aac97e47e6cad8b3400f6 Reviewed-on: https://chromium-review.googlesource.com/1146720 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Hajime Hoshi <hajimehoshi@chromium.org> Commit-Queue: Alexander Timin <altimin@chromium.org> Cr-Commit-Position: refs/heads/master@{#577155}
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
# Copyright 2018 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 content/renderer
|
|
|
|
See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
|
|
for more details about the presubmit API built into depot_tools.
|
|
"""
|
|
|
|
import re
|
|
|
|
def _FilterFile(affected_file):
|
|
"""Return true if the file could contain code requiring a presubmit check."""
|
|
return affected_file.LocalPath().endswith(
|
|
('.h', '.cc', '.cpp', '.cxx', '.mm'))
|
|
|
|
def _CheckForUseOfGlobalTaskRunnerGetter(input_api, output_api):
|
|
"""Check that base::ThreadTaskRunnerHandle::Get() or
|
|
base::SequencedTaskRunnerHandle::Get() is not used."""
|
|
|
|
problems = []
|
|
getter_re = input_api.re.compile(
|
|
r'(^|\b)base::(Thread|Sequenced)TaskRunnerHandle::Get\(\)')
|
|
for f in input_api.AffectedSourceFiles(_FilterFile):
|
|
for line_number, line in f.ChangedContents():
|
|
if getter_re.search(line):
|
|
problems.append('%s:%d' % (f, line_number))
|
|
|
|
if problems:
|
|
return [output_api.PresubmitPromptWarning(
|
|
'base::ThreadTaskRunnerHandle::Get() and'
|
|
' base::SequencedTaskRunnerHandle::Get() are deprecated in renderer;'
|
|
' please use RenderFrame::GetTaskRunner for production code and'
|
|
' blink::scheduler::Get*TaskRunnerForTesting for tests. Please reach'
|
|
' out to scheduler-dev@ if you have any questions.', problems)]
|
|
return []
|
|
|
|
def _CommonCheck(input_api, output_api):
|
|
results = []
|
|
results.extend(_CheckForUseOfGlobalTaskRunnerGetter(input_api, output_api))
|
|
return results
|
|
|
|
def CheckChangeOnUpload(input_api, output_api):
|
|
return _CommonCheck(input_api, output_api)
|
|
|
|
def CheckChangeOnCommit(input_api, output_api):
|
|
return _CommonCheck(input_api, output_api)
|