blob: 27fdf89b48dd27855be4b0f51f8bf7a56ee33653 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ash/common/shell_window_ids.h"
#include "base/macros.h"
namespace ash {
// NOTE: this list is ordered by activation order. That is, windows in
// containers appearing earlier in the list are activated before windows in
// containers appearing later in the list.
const int kActivatableShellWindowIds[] = {
kShellWindowId_OverlayContainer, kShellWindowId_LockSystemModalContainer,
kShellWindowId_SettingBubbleContainer, kShellWindowId_LockScreenContainer,
kShellWindowId_SystemModalContainer, kShellWindowId_AlwaysOnTopContainer,
kShellWindowId_AppListContainer, kShellWindowId_DefaultContainer,
// Docked, panel, launcher and status are intentionally checked after other
// containers even though these layers are higher. The user expects their
// windows to be focused before these elements.
kShellWindowId_DockedContainer, kShellWindowId_PanelContainer,
kShellWindowId_ShelfContainer, kShellWindowId_StatusContainer,
};
const size_t kNumActivatableShellWindowIds =
arraysize(kActivatableShellWindowIds);
bool IsActivatableShellWindowId(int id) {
for (size_t i = 0; i < kNumActivatableShellWindowIds; i++) {
if (id == kActivatableShellWindowIds[i])
return true;
}
return false;
}
} // namespace ash