15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)"""Presubmit script for Chromium UI resources.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)for more details about the presubmit API built into gcl/git cl, and see
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)http://www.chromium.org/developers/web-development-style-guide for the rules
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)we're checking against here.
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)"""
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def CheckChangeOnUpload(input_api, output_api):
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return _CommonChecks(input_api, output_api)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def CheckChangeOnCommit(input_api, output_api):
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return _CommonChecks(input_api, output_api)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def _CommonChecks(input_api, output_api):
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  """Checks common to both upload and commit."""
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  results = []
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  resources = input_api.PresubmitLocalPath()
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # List of paths with their associated scale factor. This is used to verify
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # that the images modified in one are the correct scale of the other.
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  path_scales = [
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    [(100, 'default_100_percent/'), (200, 'default_200_percent/')],
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ]
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  import sys
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  old_path = sys.path
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  try:
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sys.path = [resources] + old_path
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    from resource_check import resource_scale_factors
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    for paths in path_scales:
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      results.extend(resource_scale_factors.ResourceScaleFactors(
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          input_api, output_api, paths).RunChecks())
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  finally:
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    sys.path = old_path
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return results
47