chromium/ash/app_list/app_list_public_test_util.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef ASH_APP_LIST_APP_LIST_PUBLIC_TEST_UTIL_H_
#define ASH_APP_LIST_APP_LIST_PUBLIC_TEST_UTIL_H_

#include <string>

#include "ash/ash_export.h"
#include "ash/public/cpp/app_list/app_list_types.h"

namespace ash {

class AppListBubbleView;
class AppListView;
class SearchBoxView;

// An app list should be either a bubble app list or a fullscreen app list.
// Returns true if a bubble app list should be used under the current mode.
ASH_EXPORT bool ShouldUseBubbleAppList();

// Fetches the app list bubble view. Used in clamshell mode.
ASH_EXPORT AppListBubbleView* GetAppListBubbleView();

// Fetches the app list view. Used in tablet mode only app list view.
ASH_EXPORT AppListView* GetAppListView();

// Fetches the launcher search box.
ASH_EXPORT SearchBoxView* GetSearchBoxView();

// Fetches the launcher search box's ghost text autocomplete and category
// contents.
ASH_EXPORT std::string GetSearchBoxGhostTextForTest();

}  // namespace ash

#endif  // ASH_APP_LIST_APP_LIST_PUBLIC_TEST_UTIL_H_