diff options
Diffstat (limited to 'chrome/browser/web_applications')
-rw-r--r-- | chrome/browser/web_applications/web_app_mac.h | 5 | ||||
-rw-r--r-- | chrome/browser/web_applications/web_app_mac.mm | 14 |
2 files changed, 17 insertions, 2 deletions
diff --git a/chrome/browser/web_applications/web_app_mac.h b/chrome/browser/web_applications/web_app_mac.h index 46702e4..a0a8b20 100644 --- a/chrome/browser/web_applications/web_app_mac.h +++ b/chrome/browser/web_applications/web_app_mac.h @@ -14,6 +14,11 @@ #include "chrome/browser/web_applications/web_app.h" #include "extensions/common/manifest_handlers/file_handler_info.h" +// Whether to enable update and launch of app shims in tests. (Normally shims +// are never created or launched in tests). Note that update only creates +// internal shim bundles, i.e. it does not create new shims in ~/Applications. +extern bool g_app_shims_allow_update_and_launch_in_tests; + namespace web_app { // Returns the full path of the .app shim that would be created by diff --git a/chrome/browser/web_applications/web_app_mac.mm b/chrome/browser/web_applications/web_app_mac.mm index 7bfa3d3..b46170c 100644 --- a/chrome/browser/web_applications/web_app_mac.mm +++ b/chrome/browser/web_applications/web_app_mac.mm @@ -47,6 +47,8 @@ #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/image/image_family.h" +bool g_app_shims_allow_update_and_launch_in_tests = false; + namespace { // Launch Services Key to run as an agent app, which doesn't launch in the dock. @@ -564,7 +566,11 @@ size_t WebAppShortcutCreator::CreateShortcutsIn( return succeeded; } + // Remove the quarantine attribute from both the bundle and the executable. base::mac::RemoveQuarantineAttribute(dst_path.Append(app_name)); + base::mac::RemoveQuarantineAttribute( + dst_path.Append(app_name) + .Append("Contents").Append("MacOS").Append("app_mode_loader")); ++succeeded; } @@ -863,8 +869,10 @@ base::FilePath GetAppInstallPath(const ShortcutInfo& shortcut_info) { } void MaybeLaunchShortcut(const ShortcutInfo& shortcut_info) { - if (AppShimsDisabledForTest()) + if (AppShimsDisabledForTest() && + !g_app_shims_allow_update_and_launch_in_tests) { return; + } content::BrowserThread::PostTask( content::BrowserThread::FILE, FROM_HERE, @@ -976,8 +984,10 @@ void UpdatePlatformShortcuts( const ShortcutInfo& shortcut_info, const extensions::FileHandlersInfo& file_handlers_info) { DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::FILE)); - if (AppShimsDisabledForTest()) + if (AppShimsDisabledForTest() && + !g_app_shims_allow_update_and_launch_in_tests) { return; + } WebAppShortcutCreator shortcut_creator( app_data_path, shortcut_info, file_handlers_info); |