Chromium Code Reviews| Index: apps/launcher.cc |
| diff --git a/apps/launcher.cc b/apps/launcher.cc |
| index d1925112dd93844ee1b767a0fda026749912f2b1..03e394bb35f1348e9526a2d2cf4882478f8aa083 100644 |
| --- a/apps/launcher.cc |
| +++ b/apps/launcher.cc |
| @@ -37,6 +37,8 @@ |
| #include "extensions/common/api/app_runtime.h" |
| #include "extensions/common/extension.h" |
| #include "extensions/common/manifest_handlers/kiosk_mode_info.h" |
| +#include "extensions/common/permissions/api_permission.h" |
| +#include "extensions/common/permissions/permissions_data.h" |
| #include "net/base/filename_util.h" |
| #include "url/gurl.h" |
| @@ -434,6 +436,14 @@ void LaunchPlatformAppWithAction( |
| const extensions::Extension* app, |
| std::unique_ptr<app_runtime::ActionData> action_data, |
| const base::FilePath& file_path) { |
| + if (action_data && action_data->is_lock_screen_action && |
| + *action_data->is_lock_screen_action && |
| + !app->permissions_data()->HasAPIPermission( |
| + extensions::APIPermission::kLockScreen)) { |
| + NOTREACHED() << "Launching lock screen action handler requires lockScreen " |
|
Devlin
2017/06/14 19:13:47
Why do we use NOTREACHED(); return; here instead o
tbarzic
2017/06/14 19:48:47
I guess CHECK would be fine too.
|
| + << "permission."; |
| + return; |
| + } |
| scoped_refptr<PlatformAppPathLauncher> launcher = |
| new PlatformAppPathLauncher(context, app, file_path); |
| launcher->set_action_data(std::move(action_data)); |