| 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 096f050bf6a839414c981de492d5f84b47dd566e..4f8be57cf179d468a58eee1427461e77502835b8 100644
|
| --- a/extensions/browser/api/app_window/app_window_api.cc
|
| +++ b/extensions/browser/api/app_window/app_window_api.cc
|
| @@ -75,6 +75,8 @@ const char kImeWindowMustBeImeWindowOrPanel[] =
|
| "IME extensions must create ime window ( with \"ime: true\" and "
|
| "\"frame: 'none'\") or panel window (with \"type: panel\").";
|
| #endif
|
| +const char kShowInShelfWindowKeyNotSet[] =
|
| + "The \"showInShelf\" option requires the \"id\" option to be set.";
|
| } // namespace app_window_constants
|
|
|
| const char kNoneFrameOption[] = "none";
|
| @@ -321,6 +323,15 @@ bool AppWindowCreateFunction::RunAsync() {
|
| *options->visible_on_all_workspaces;
|
| }
|
|
|
| + if (options->show_in_shelf.get()) {
|
| + create_params.show_in_shelf = *options->show_in_shelf.get();
|
| +
|
| + if (create_params.show_in_shelf && create_params.window_key.empty()) {
|
| + error_ = app_window_constants::kShowInShelfWindowKeyNotSet;
|
| + return false;
|
| + }
|
| + }
|
| +
|
| if (options->type != app_window::WINDOW_TYPE_PANEL) {
|
| switch (options->state) {
|
| case app_window::STATE_NONE:
|
|
|