1# Copyright 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'targets': [
7    {
8      # GN version: //ui/resources
9      'target_name': 'ui_resources',
10      'type': 'none',
11      'variables': {
12        'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/ui/resources',
13      },
14      'actions': [
15        {
16          'action_name': 'ui_resources',
17          'variables': {
18            'grit_grd_file': 'ui_resources.grd',
19          },
20          'includes': [ '../../build/grit_action.gypi' ],
21        },
22        {
23          'action_name': 'webui_resources',
24          'variables': {
25            'grit_grd_file': '../webui/resources/webui_resources.grd',
26          },
27          'includes': [ '../../build/grit_action.gypi' ],
28        },
29        {
30          'action_name': 'ui_unscaled_resources',
31          'variables': {
32            'grit_grd_file': 'ui_unscaled_resources.grd',
33          },
34          'includes': [ '../../build/grit_action.gypi' ],
35        },
36      ],
37      'includes': [ '../../build/grit_target.gypi' ],
38    },
39    {
40      # This creates a pak file that contains the resources in src/ui.
41      # This pak file can be used by tests.
42      #
43      # GN version: //ui/resources:ui_test_pak
44      'target_name': 'ui_test_pak',
45      'type': 'none',
46      'dependencies': [
47        '../strings/ui_strings.gyp:ui_strings',
48        'ui_resources',
49      ],
50      'actions': [
51        {
52          'action_name': 'repack_ui_test_pack',
53          'variables': {
54            'pak_inputs': [
55              '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.pak',
56              '<(SHARED_INTERMEDIATE_DIR)/ui/resources/webui_resources.pak',
57              '<(SHARED_INTERMEDIATE_DIR)/ui/strings/app_locale_settings_en-US.pak',
58              '<(SHARED_INTERMEDIATE_DIR)/ui/strings/ui_strings_en-US.pak',
59            ],
60            'pak_output': '<(PRODUCT_DIR)/ui_test.pak',
61          },
62          'includes': [ '../../build/repack_action.gypi' ],
63        },
64      ],
65      'conditions': [
66        ['OS != "mac"', {
67          'copies': [
68            {
69              # GN version //ui/resources:copy_ui_resources_100_percent
70              'destination': '<(PRODUCT_DIR)/ui',
71              'files': [
72                '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.pak',
73              ],
74            },
75          ],
76        }],
77        ['OS == "ios" or OS == "mac"', {
78          'actions': [
79            {
80              # GN version: //ui/resources:repack_ui_test_mac_locale_pack
81              # Repack just the strings for the framework locales on Mac and
82              # iOS. This emulates repack_locales.py, but just for en-US. Note
83              # ui_test.pak is not simply copied, because it causes leaks from
84              # allocations within system libraries when trying to load non-
85              # string resources. http://crbug.com/413034.
86              'action_name': 'repack_ui_test_mac_locale_pack',
87              'variables': {
88                'pak_inputs': [
89                  '<(SHARED_INTERMEDIATE_DIR)/ui/strings/app_locale_settings_en-US.pak',
90                  '<(SHARED_INTERMEDIATE_DIR)/ui/strings/ui_strings_en-US.pak',
91                ],
92                'pak_output': '<(PRODUCT_DIR)/ui/en.lproj/locale.pak',
93              },
94              'includes': [ '../../build/repack_action.gypi' ],
95            },
96          ],
97        }],
98        ['OS != "mac" and OS !="ios"', {
99          'actions': [
100            {
101              'action_name': 'copy_ui_test_pak',
102              'message': 'Copying ui_test.pak into en-US.pak',
103              'inputs': [
104                '<(PRODUCT_DIR)/ui_test.pak',
105              ],
106              'outputs': [
107                '<(PRODUCT_DIR)/ui/en-US.pak',
108              ],
109              'action': [
110                'python',
111                '../../build/cp.py',
112                '<@(_inputs)',
113                '<@(_outputs)'
114              ],
115            },
116          ],
117        }],
118      ],
119    },
120  ],
121}
122