Index: extensions/browser/api/app_window/app_window_api.cc |
diff --git a/extensions/browser/api/app_window/app_window_api.cc b/extensions/browser/api/app_window/app_window_api.cc |
index b6ecd5afb36bf282625b899f89af49205c2d430c..2a80004ecdf69ee26734dc5afa6eef3032d220db 100644 |
--- a/extensions/browser/api/app_window/app_window_api.cc |
+++ b/extensions/browser/api/app_window/app_window_api.cc |
@@ -56,6 +56,8 @@ const char kAlphaEnabledMissingPermission[] = |
"The alphaEnabled option requires app.window.alpha permission."; |
const char kAlphaEnabledNeedsFrameNone[] = |
"The alphaEnabled option can only be used with \"frame: 'none'\"."; |
+const char kVisibleOnAllWorkspacesWrongChannel[] = |
+ "The visibleOnAllWorkspaces option requires dev channel or newer."; |
} // namespace app_window_constants |
const char kNoneFrameOption[] = "none"; |
@@ -259,6 +261,15 @@ bool AppWindowCreateFunction::RunAsync() { |
if (options->focused.get()) |
create_params.focused = *options->focused.get(); |
+ if (options->visible_on_all_workspaces.get()) { |
+ if (AppsClient::Get()->IsCurrentChannelOlderThanDev()) { |
+ error_ = app_window_constants::kVisibleOnAllWorkspacesWrongChannel; |
+ return false; |
+ } |
+ create_params.visible_on_all_workspaces = |
+ *options->visible_on_all_workspaces.get(); |
+ } |
+ |
if (options->type != app_window::WINDOW_TYPE_PANEL) { |
switch (options->state) { |
case app_window::STATE_NONE: |