summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/common.gypi13
-rw-r--r--chrome/app/policy/mac/app-Manifest.plist431
-rw-r--r--chrome/app/policy/policy_templates.grd53
-rw-r--r--chrome/chrome_exe.gypi99
-rwxr-xr-xchrome/tools/build/mac/copy_mcx_manifest.sh22
5 files changed, 82 insertions, 536 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 0fcee01..fe7a357 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -1155,9 +1155,10 @@
['OS=="mac"', {
'target_defaults': {
'variables': {
- # This should be 'mac_real_dsym%', but there seems to be a bug
- # with % in variables that are intended to be set to different
- # values in different targets, like this one.
+ # These should be 'mac_real_dsym%' and 'mac_strip%', but there
+ # seems to be a bug with % in variables that are intended to be
+ # set to different values in different targets, like these two.
+ 'mac_strip': 1, # Strip debugging symbols from the target.
'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases.
},
'mac_bundle': 0,
@@ -1205,7 +1206,8 @@
['_mac_bundle', {
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
}],
- ['_type=="executable" or _type=="shared_library" or _type=="loadable_module"', {
+ ['(_type=="executable" or _type=="shared_library" or \
+ _type=="loadable_module") and mac_strip!=0', {
'target_conditions': [
['mac_real_dsym == 1', {
# To get a real .dSYM bundle produced by dsymutil, set the
@@ -1249,7 +1251,8 @@
], # postbuilds
}], # mac_real_dsym
], # target_conditions
- }], # _type=="executable" or _type=="shared_library" or _type=="loadable_module"
+ }], # (_type=="executable" or _type=="shared_library" or
+ # _type=="loadable_module") and mac_strip!=0
], # target_conditions
}, # target_defaults
}], # OS=="mac"
diff --git a/chrome/app/policy/mac/app-Manifest.plist b/chrome/app/policy/mac/app-Manifest.plist
deleted file mode 100644
index 84db797..0000000
--- a/chrome/app/policy/mac/app-Manifest.plist
+++ /dev/null
@@ -1,431 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
- <dict>
- <key>pfm_name</key>
- <string>@APP_NAME@</string>
- <key>pfm_description</key>
- <string>@APP_NAME@ preferences</string>
- <key>pfm_title</key>
- <string>@APP_NAME@</string>
- <key>pfm_version</key>
- <string>1</string>
- <key>pfm_domain</key>
- <string>@CHROMIUM_BUNDLE_ID@</string>
- <key>pfm_subkeys</key>
- <array>
- <dict>
- <key>pfm_name</key>
- <string>HomepageLocation</string>
- <key>pfm_description</key>
- <string>Configures the default homepage URL in Chromium and prevents users from changing it.
-
-The homepage type can either be set to a URL you specify here or set to the New Tab Page.
-
-If you specify the New Tab Page as the homepage type, then this policy is ignored.
-
-If you enable this setting, users cannot change their homepage URL in Chromium, but they still can choose the New Tab Page as their homepage.</string>
- <key>pfm_title</key>
- <string>Homepage URL</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>string</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>HomepageIsNewTabPage</string>
- <key>pfm_description</key>
- <string>Configures the type of the default home page in Chromium and prevents users from changing homepage preferences. The homepage can either be set to a URL you specify or set to the New Tab Page.
-
-If you enable this setting, always the New Tab Page is used for the homepage, and the homepage URL location is ignored.
-
-If you disable this setting, the user's homepage will never be the New Tab Page, unless its URL is set to 'chrome://newtab'.
-
-If you enable or disable this setting, users cannot change their homepage type in Chromium.</string>
- <key>pfm_title</key>
- <string>Use New Tab Page as homepage</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>ApplicationLocaleValue</string>
- <key>pfm_description</key>
- <string>Configures the application locale in Chromium and prevents users from changing the locale.
-
-If you enable this setting, Chromium uses the specified locale. If the configured locale is not supported, 'en-US' is used instead.
-
-If this setting is disabled or not configured, Chromium uses either the user-specified preferred locale (if configured), the system locale or the fallback locale 'en-US'.</string>
- <key>pfm_title</key>
- <string>Application locale</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>string</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>AlternateErrorPagesEnabled</string>
- <key>pfm_description</key>
- <string>Enables the use of alternate error pages that are built into Chromium (such as 'page not found') and prevents users from changing this setting.
-
-If you enable this setting, alternate error pages are used.
-
-If you disable this setting, alternate error pages are never used.
-
-If you enable or disable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Enable alternate error pages</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>SearchSuggestEnabled</string>
- <key>pfm_description</key>
- <string>Enables search suggestions in Chromium's Omnibox and prevents users from changing this setting.
-
-If you enable this setting, search suggestions are used.
-
-If you disable this setting, search suggestions are never used.
-
-If you enable or disable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Enable search suggestions</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>DnsPrefetchingEnabled</string>
- <key>pfm_description</key>
- <string>Enables DNS prefetching in Chromium and prevents users from changing this setting.
-
-If you enable or disable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Enable DNS prefetching</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>SafeBrowsingEnabled</string>
- <key>pfm_description</key>
- <string>Enables Chromium's Safe Browsing feature and prevents users from changing this setting.
-
-If you enable this setting, Safe Browsing is always active.
-
-If you disable this setting, Safe Browsing is never active.
-
-If you enable or disable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Enable Safe Browsing</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>MetricsReportingEnabled</string>
- <key>pfm_description</key>
- <string>Enables anonymous reporting of usage and crash-related data about Chromium to Google and prevents users from changing this setting.
-
-If you enable this setting, anonymous reporting of usage and crash-related data is sent to Google.
-
-If you disable this setting, anonymous reporting of usage and crash-related data is never sent to Google.
-
-If you enable or disable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Enable reporting of usage and crash-related data</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>PasswordManagerEnabled</string>
- <key>pfm_description</key>
- <string>Enables saving passwords and using saved passwords in Chromium.
-
-If you enable this setting, users can have Chromium memorize passwords and provide them automatically the next time you log into a site.
-
-If you disable this setting, users are not able to save passwords or use already saved passwords.
-
-If you enable or disable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Enable the password manager</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>AutoFillEnabled</string>
- <key>pfm_description</key>
- <string>Enables Chromium's AutoFill
-feature and allows users to auto-complete web-forms using previously stored
-information like address or credit card information.
-
-If you enable this setting, AutoFill is always active.
-
-If you disable this setting, AutoFill is never active.
-
-If you enable or disable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Enable AutoFill</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>DisabledPlugins</string>
- <key>pfm_description</key>
- <string>Specifies a list of plugins that are disabled in Chromium and prevents users from changing this setting.
-
-If you enable this setting, the specified list of plugins is never used in Chromium. The plugins are marked as disabled in 'about:plugins' and users are not able to enable them.</string>
- <key>pfm_title</key>
- <string>List of disabled plugins</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>array</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>SyncDisabled</string>
- <key>pfm_description</key>
- <string>Disallows data synchronization in Chromium using Google-hosted synchronization services and prevents users from changing this setting.
-
-If you enable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Disallow synchronization of data with Google</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>ProxyServerMode</string>
- <key>pfm_description</key>
- <string>0 - Never use a proxy
-1 - Auto detect proxy settings
-2 - Manually specify proxy settings
-3 - Use system proxy settings
-Allows you to specify the proxy server used by Chromium and prevents users from changing proxy settings.
-
-If you choose to never use a proxy server and always connect directly, all other options are ignored.
-
-If you choose to use system proxy settings or auto detect the proxy server, all other options are ignored.
-
-If you choose manual proxy settings, you can specify further options in 'Address or URL of proxy server', 'URL to a proxy .pac file' and 'Comma-separated list of proxy bypass rules'.
-
-For detailed examples, visit:
-http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett
-
-If you enable this setting, Chromium ignores all proxy-related options specified from the command line.</string>
- <key>pfm_title</key>
- <string>Choose how to specify proxy server settings</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>integer</string>
- <key>pfm_range_list</key>
- <array>
- <integer>0</integer>
- <integer>1</integer>
- <integer>2</integer>
- <integer>3</integer>
- </array>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>ProxyServer</string>
- <key>pfm_description</key>
- <string>You can specify the URL of the proxy server here.
-
-This policy only takes effect if you have selected manual proxy settings at 'Choose how to specify proxy server settings'.
-
-For more options and detailed examples, visit:
-http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</string>
- <key>pfm_title</key>
- <string>Address or URL of proxy server</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>string</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>ProxyPacUrl</string>
- <key>pfm_description</key>
- <string>You can specify an URL to a proxy .pac file here.
-
-This policy only takes effect if you have selected manual proxy settings at 'Choose how to specify proxy server settings'.
-
-For detailed examples, visit:
-http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</string>
- <key>pfm_title</key>
- <string>URL to a proxy .pac file</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>string</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>ProxyBypassList</string>
- <key>pfm_description</key>
- <string>Chromium will bypass any proxy for the list of hosts given here.
-
-This policy only takes effect if you have selected manual proxy settings at 'Choose how to specify proxy server settings'.
-
-For more detailed examples, visit:
-http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</string>
- <key>pfm_title</key>
- <string>Comma-separated list of proxy bypass rules</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>string</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>ExtensionInstallBlacklist</string>
- <key>pfm_description</key>
- <string>Allows you to specify which extensions the users can NOT install.
-
-A blacklist value of * means all extensions are blacklisted and users will only be able to install extensions listed in the whitelist.</string>
- <key>pfm_title</key>
- <string>Extension IDs the user should be prevented from installing (or * for all)</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>array</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>ExtensionInstallWhitelist</string>
- <key>pfm_description</key>
- <string>Allows you to specify which extensions are not subject to the blacklist.
-
-A blacklist value of * means all extensions are blacklisted and users will only be able to install extensions listed in the whitelist.
-
-By default, all extensions are whitelisted, but if all extensions have been blacklisted by policy, the whitelist can be used to override that policy.</string>
- <key>pfm_title</key>
- <string>Extension IDs to exempt from the blacklist</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>array</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>ShowHomeButton</string>
- <key>pfm_description</key>
- <string>Shows the Home button on Chromium's toolbar.
-
-If you enable this setting, the Home button is always shown.
-
-If you disable this setting, the Home button is never shown.
-
-If you enable or disable this setting, users cannot change or override this setting in Chromium.</string>
- <key>pfm_title</key>
- <string>Show Home button on toolbar</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>boolean</string>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>RestoreOnStartup</string>
- <key>pfm_description</key>
- <string>0 - Open home page
-1 - Reopen the URLs that were open last
-4 - Open a list of URLs
-Allows you to specify the behavior on startup.</string>
- <key>pfm_title</key>
- <string>Action on Startup</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>integer</string>
- <key>pfm_range_list</key>
- <array>
- <integer>0</integer>
- <integer>1</integer>
- <integer>4</integer>
- </array>
- </dict>
- <dict>
- <key>pfm_name</key>
- <string>RestoreOnStartupURLs</string>
- <key>pfm_description</key>
- <string>If 'Open a list of URLs' is selected as action on startup, this allows you to specify the list of URLs that are opened on startup.</string>
- <key>pfm_title</key>
- <string>URLs to open on startup</string>
- <key>pfm_targets</key>
- <array>
- <string>user-managed</string>
- </array>
- <key>pfm_type</key>
- <string>array</string>
- </dict>
- </array>
- </dict>
-</plist>
diff --git a/chrome/app/policy/policy_templates.grd b/chrome/app/policy/policy_templates.grd
index 6f074ab..3b5df8f 100644
--- a/chrome/app/policy/policy_templates.grd
+++ b/chrome/app/policy/policy_templates.grd
@@ -66,60 +66,7 @@ templates and will be translated for each locale. -->
<output filename="app/policy/mac/app-Manifest.plist" type="plist" lang="en" />
<!-- The following directory names use Mac language codes (en instead of en-US,
underscores instead of dashes. (As described in build/apply_locales.py -->
- <output filename="app/policy/mac/strings/am.lproj/Localizable.strings" type="plist_strings" lang="am" />
- <output filename="app/policy/mac/strings/ar.lproj/Localizable.strings" type="plist_strings" lang="ar" />
- <output filename="app/policy/mac/strings/bg.lproj/Localizable.strings" type="plist_strings" lang="bg" />
- <output filename="app/policy/mac/strings/bn.lproj/Localizable.strings" type="plist_strings" lang="bn" />
- <output filename="app/policy/mac/strings/ca.lproj/Localizable.strings" type="plist_strings" lang="ca" />
- <output filename="app/policy/mac/strings/cs.lproj/Localizable.strings" type="plist_strings" lang="cs" />
- <output filename="app/policy/mac/strings/da.lproj/Localizable.strings" type="plist_strings" lang="da" />
- <output filename="app/policy/mac/strings/de.lproj/Localizable.strings" type="plist_strings" lang="de" />
- <output filename="app/policy/mac/strings/el.lproj/Localizable.strings" type="plist_strings" lang="el" />
- <output filename="app/policy/mac/strings/en_GB.lproj/Localizable.strings" type="plist_strings" lang="en-GB" />
- <!-- en-US is en on Mac-->
<output filename="app/policy/mac/strings/en.lproj/Localizable.strings" type="plist_strings" lang="en" />
- <output filename="app/policy/mac/strings/es.lproj/Localizable.strings" type="plist_strings" lang="es" />
- <output filename="app/policy/mac/strings/es_419.lproj/Localizable.strings" type="plist_strings" lang="es-419" />
- <output filename="app/policy/mac/strings/et.lproj/Localizable.strings" type="plist_strings" lang="et" />
- <output filename="app/policy/mac/strings/fi.lproj/Localizable.strings" type="plist_strings" lang="fi" />
- <output filename="app/policy/mac/strings/fil.lproj/Localizable.strings" type="plist_strings" lang="fil" />
- <output filename="app/policy/mac/strings/fr.lproj/Localizable.strings" type="plist_strings" lang="fr" />
- <output filename="app/policy/mac/strings/gu.lproj/Localizable.strings" type="plist_strings" lang="gu" />
- <output filename="app/policy/mac/strings/he.lproj/Localizable.strings" type="plist_strings" lang="he" />
- <output filename="app/policy/mac/strings/hi.lproj/Localizable.strings" type="plist_strings" lang="hi" />
- <output filename="app/policy/mac/strings/hr.lproj/Localizable.strings" type="plist_strings" lang="hr" />
- <output filename="app/policy/mac/strings/hu.lproj/Localizable.strings" type="plist_strings" lang="hu" />
- <output filename="app/policy/mac/strings/id.lproj/Localizable.strings" type="plist_strings" lang="id" />
- <output filename="app/policy/mac/strings/it.lproj/Localizable.strings" type="plist_strings" lang="it" />
- <output filename="app/policy/mac/strings/ja.lproj/Localizable.strings" type="plist_strings" lang="ja" />
- <output filename="app/policy/mac/strings/kn.lproj/Localizable.strings" type="plist_strings" lang="kn" />
- <output filename="app/policy/mac/strings/ko.lproj/Localizable.strings" type="plist_strings" lang="ko" />
- <output filename="app/policy/mac/strings/lt.lproj/Localizable.strings" type="plist_strings" lang="lt" />
- <output filename="app/policy/mac/strings/lv.lproj/Localizable.strings" type="plist_strings" lang="lv" />
- <output filename="app/policy/mac/strings/ml.lproj/Localizable.strings" type="plist_strings" lang="ml" />
- <output filename="app/policy/mac/strings/mr.lproj/Localizable.strings" type="plist_strings" lang="mr" />
- <output filename="app/policy/mac/strings/nl.lproj/Localizable.strings" type="plist_strings" lang="nl" />
- <!-- The translation console uses 'no' for Norwegian Bokmål. It should
- be 'nb'. -->
- <output filename="app/policy/mac/strings/nb.lproj/Localizable.strings" type="plist_strings" lang="no" />
- <output filename="app/policy/mac/strings/pl.lproj/Localizable.strings" type="plist_strings" lang="pl" />
- <output filename="app/policy/mac/strings/pt_BR.lproj/Localizable.strings" type="plist_strings" lang="pt-BR" />
- <output filename="app/policy/mac/strings/pt_PT.lproj/Localizable.strings" type="plist_strings" lang="pt-PT" />
- <output filename="app/policy/mac/strings/ro.lproj/Localizable.strings" type="plist_strings" lang="ro" />
- <output filename="app/policy/mac/strings/ru.lproj/Localizable.strings" type="plist_strings" lang="ru" />
- <output filename="app/policy/mac/strings/sk.lproj/Localizable.strings" type="plist_strings" lang="sk" />
- <output filename="app/policy/mac/strings/sl.lproj/Localizable.strings" type="plist_strings" lang="sl" />
- <output filename="app/policy/mac/strings/sr.lproj/Localizable.strings" type="plist_strings" lang="sr" />
- <output filename="app/policy/mac/strings/sv.lproj/Localizable.strings" type="plist_strings" lang="sv" />
- <output filename="app/policy/mac/strings/sw.lproj/Localizable.strings" type="plist_strings" lang="sw" />
- <output filename="app/policy/mac/strings/ta.lproj/Localizable.strings" type="plist_strings" lang="ta" />
- <output filename="app/policy/mac/strings/te.lproj/Localizable.strings" type="plist_strings" lang="te" />
- <output filename="app/policy/mac/strings/th.lproj/Localizable.strings" type="plist_strings" lang="th" />
- <output filename="app/policy/mac/strings/tr.lproj/Localizable.strings" type="plist_strings" lang="tr" />
- <output filename="app/policy/mac/strings/uk.lproj/Localizable.strings" type="plist_strings" lang="uk" />
- <output filename="app/policy/mac/strings/vi.lproj/Localizable.strings" type="plist_strings" lang="vi" />
- <output filename="app/policy/mac/strings/zh_CN.lproj/Localizable.strings" type="plist_strings" lang="zh-CN" />
- <output filename="app/policy/mac/strings/zh_TW.lproj/Localizable.strings" type="plist_strings" lang="zh-TW" />
</if>
</outputs>
diff --git a/chrome/chrome_exe.gypi b/chrome/chrome_exe.gypi
index d4c774e..054db39 100644
--- a/chrome/chrome_exe.gypi
+++ b/chrome/chrome_exe.gypi
@@ -279,6 +279,10 @@
'dependencies': [
'helper_app',
'infoplist_strings_tool',
+ 'chrome_manifest_bundle',
+ ],
+ 'mac_bundle_resources': [
+ '<(PRODUCT_DIR)/<(mac_bundle_id).manifest',
],
'actions': [
{
@@ -323,31 +327,6 @@
'message': 'Generating the language InfoPlist.strings files',
'process_outputs_as_mac_bundle_resources': 1,
},
- {
- # Massage the manifest and add it as a resource
- 'action_name': 'Generate MCX manifest file',
- 'variables': {
- 'tool_path': 'tools/build/mac/copy_mcx_manifest.sh',
- 'input_path': 'app/policy/mac/app-Manifest.plist',
- 'output_path': '<(INTERMEDIATE_DIR)/<(mac_bundle_id).manifest',
- },
- 'inputs': [
- '<(tool_path)',
- '<(input_path)',
- ],
- 'outputs': [
- '<(output_path)',
- ],
- 'action': [
- '<(tool_path)',
- '<(mac_product_name)',
- '<(mac_bundle_id)',
- '<(input_path)',
- '<(output_path)',
- ],
- 'message': 'Generating the MCX policy manifest file',
- 'process_outputs_as_mac_bundle_resources': 1,
- },
],
'copies': [
{
@@ -511,5 +490,75 @@
},
],
}],
+ ['OS=="mac"', {
+ 'targets': [
+ {
+ # This is the bundle of the manifest file of Chrome.
+ # It contains the manifest file and its string tables.
+ 'target_name': 'chrome_manifest_bundle',
+ 'type': 'loadable_module',
+ 'mac_bundle': 1,
+ 'product_extension': 'manifest',
+ 'product_name': '<(mac_bundle_id)',
+ 'variables': {
+ # This avoids stripping debugging symbols from the target, which
+ # would fail because there is no binary code here.
+ 'mac_strip': 0,
+ },
+ 'dependencies': [
+ # Provides app-Manifest.plist and its string tables:
+ 'policy_templates',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'Copy MCX manifest file to manifest bundle',
+ 'inputs': [
+ '<(grit_out_dir)/app/policy/mac/app-Manifest.plist',
+ ],
+ 'outputs': [
+ '<(INTERMEDIATE_DIR)/app_manifest/<(mac_bundle_id).manifest',
+ ],
+ 'action': [
+ 'cp',
+ '<@(_inputs)',
+ '<@(_outputs)',
+ ],
+ 'message':
+ 'Copying the MCX policy manifest file to the manifest bundle',
+ 'process_outputs_as_mac_bundle_resources': 1,
+ },
+ {
+ 'action_name':
+ 'Copy Localizable.strings files to manifest bundle',
+ 'variables': {
+ 'input_path': '<(grit_out_dir)/app/policy/mac/strings',
+ # Directory to collect the Localizable.strings files before
+ # they are copied to the bundle.
+ 'output_path': '<(INTERMEDIATE_DIR)/app_manifest',
+ # TODO(gfeher): replace this with <(locales) when we have real
+ # translations
+ 'available_locales': 'en',
+ },
+ 'inputs': [
+ # TODO: remove this helper when we have loops in GYP
+ '>!@(<(apply_locales_cmd) -d \'<(input_path)/ZZLOCALE.lproj/Localizable.strings\' <(available_locales))',
+ ],
+ 'outputs': [
+ # TODO: remove this helper when we have loops in GYP
+ '>!@(<(apply_locales_cmd) -d \'<(output_path)/ZZLOCALE.lproj/Localizable.strings\' <(available_locales))',
+ ],
+ 'action': [
+ 'cp', '-R',
+ '<(input_path)/',
+ '<(output_path)',
+ ],
+ 'message':
+ 'Copy the Localizable.strings files to the manifest bundle',
+ 'process_outputs_as_mac_bundle_resources': 1,
+ },
+ ],
+ },
+ ]
+ }]
],
}
diff --git a/chrome/tools/build/mac/copy_mcx_manifest.sh b/chrome/tools/build/mac/copy_mcx_manifest.sh
deleted file mode 100755
index fc4cbfc..0000000
--- a/chrome/tools/build/mac/copy_mcx_manifest.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2010 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.
-
-set -e
-
-if [[ ${#} -ne 4 ]]; then
- echo "usage: ${0} APP_NAME IDENTIFIER SOURCE DESTINATION" >&2
- exit 1
-fi
-
-APP_NAME="${1}"
-IDENTIFIER=${2}
-SOURCE=${3}
-DESTINATION=${4}
-
-# All hail sed.
-exec sed -e "s/@APP_NAME@/${APP_NAME}/g" \
- -e "s/@CHROMIUM_BUNDLE_ID@/${IDENTIFIER}/g" \
- "${SOURCE}" > "${DESTINATION}"