| # 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. |
| |
| import("//tools/grit/repack.gni") |
| |
| # Template to repack all scalable resources at a given scale. |
| # |
| # Arguments |
| # |
| # scale |
| # string, scale as a percentage, e.g. "200" corresponds to @2x scale. |
| # |
| # Generates a bundle_data target for convenience. |
| template("_ios_web_view_repack_one_scale") { |
| assert(defined(invoker.scale), "scale must be defined for ${target_name}") |
| |
| repack(target_name) { |
| forward_variables_from(invoker, |
| [ |
| "testonly", |
| "visibility", |
| ]) |
| |
| sources = [ |
| # TODO(crbug.com/842244): Bundle less resources. |
| "${root_gen_dir}/components/components_resources_${invoker.scale}_percent.pak", |
| ] |
| deps = [ |
| "//components/resources:components_scaled_resources", |
| ] |
| |
| output = "$target_gen_dir/web_view_${invoker.scale}_percent.pak" |
| copy_data_to_bundle = true |
| } |
| } |
| |
| # Template to repack all scalable resources at all scales. |
| # |
| # Arguments |
| # |
| # scales |
| # list of strings corresponding to scales as percentage, e.g. "200" |
| # corresponds to @2x scale. |
| # |
| # Generates a collection of bundle_data targets for convenience. |
| template("ios_web_view_repack_all_scales") { |
| assert(defined(invoker.scales), "scales must be defined for ${target_name}") |
| |
| _scale_targets = [] |
| _target_name = target_name |
| |
| foreach(_scale, invoker.scales) { |
| _scale_targets += [ ":${_target_name}_${_scale}_percent" ] |
| _ios_web_view_repack_one_scale("${_target_name}_${_scale}_percent") { |
| forward_variables_from(invoker, [ "testonly" ]) |
| visibility = [ ":${_target_name}" ] |
| scale = _scale |
| } |
| } |
| |
| group(_target_name) { |
| forward_variables_from(invoker, |
| [ |
| "testonly", |
| "visibility", |
| ]) |
| public_deps = _scale_targets |
| } |
| } |