Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /android_webview /PRESUBMIT.py
blob: 4d82b5aaaee52b462b73d221d6cec35c353a8318 [file] [log] [blame] [edit]
# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Presubmit tests for //android_webview/
Gates against using Context#bindService API before upload.
"""
defCheckChangeOnCommit(input_api, output_api):
results=[]
results.extend(_CheckNoContextBindServiceAdded(input_api, output_api))
return results
defCheckChangeOnUpload(input_api, output_api):
results=[]
results.extend(_CheckNoContextBindServiceAdded(input_api, output_api))
return results
def_CheckNoContextBindServiceAdded(input_api, output_api):
"""Checks that new no files under //android_webview directly use the
Context#bindService. This is because Android platform disallows calling
Context#bindService() from within a BroadcastReceiver context.
"""
errors=[]
bind_service_pattern= input_api.re.compile(
r'.*\.bindService\(.*')
def_FilterFile(affected_file):
skip_files=(input_api.DEFAULT_FILES_TO_SKIP+
(r'.*android_webview[/\\]common[/\\]services[/\\]ServiceHelper\.java',
r'.*android_webview[/\\]support_library[/\\]boundary_interfaces[/\\].*',
r'.*android_webview[/\\]js_sandbox[/\\].*',))
return input_api.FilterSourceFile(
affected_file,
files_to_skip=skip_files,
files_to_check=[r'.+\.java$'])
for fin input_api.AffectedSourceFiles(_FilterFile):
for line_num, linein f.ChangedContents():
match= bind_service_pattern.search(line)
if match:
if"ServiceHelper.bindService"notin line:
errors.append("%s:%d:%s"%(f.LocalPath(), line_num, line))
results=[]
if errors:
results.append(output_api.PresubmitPromptWarning("""
New code in //android_webview should not use \
android.content.Context#bindService. Instead use \
android_webview.common.services.ServiceHelper#bindService.
""", errors))
return results

[8]ページ先頭

©2009-2025 Movatter.jp