summaryrefslogtreecommitdiffstats
path: root/chrome/browser/web_applications
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/web_applications')
-rw-r--r--chrome/browser/web_applications/web_app_mac.h5
-rw-r--r--chrome/browser/web_applications/web_app_mac.mm14
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);