#ifndef UI_VIEWS_TEST_WIDGET_TEST_H_
#define UI_VIEWS_TEST_WIDGET_TEST_H_
#include <memory>
#include <string>
#include <utility>
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "base/scoped_observation.h"
#include "base/test/bind.h"
#include "build/build_config.h"
#include "build/chromecast_buildflags.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/views/test/views_test_base.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_delegate.h"
#include "ui/views/widget/widget_observer.h"
#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || \
BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN)
#include "ui/display/screen.h"
#endif
namespace ui {
class EventSink;
class ImeKeyEventDispatcher;
}
namespace views {
class View;
namespace internal {
class RootView;
}
namespace test {
ViewPredicate;
View* AnyViewMatchingPredicate(View* root, const ViewPredicate& predicate);
template <typename Pred>
View* AnyViewMatchingPredicate(View* root, Pred predicate) { … }
View* AnyViewMatchingPredicate(Widget* widget, const ViewPredicate& predicate);
template <typename Pred>
View* AnyViewMatchingPredicate(Widget* widget, Pred predicate) { … }
View* AnyViewWithClassName(Widget* widget, const std::string& classname);
class WidgetTest : public ViewsTestBase { … };
class DesktopWidgetTest : public WidgetTest { … };
class DesktopWidgetTestInteractive : public DesktopWidgetTest { … };
class TestDesktopWidgetDelegate : public WidgetDelegate { … };
class TestInitialFocusWidgetDelegate : public TestDesktopWidgetDelegate { … };
class WidgetDestroyedWaiter : public WidgetObserver { … };
class WidgetVisibleWaiter : public WidgetObserver { … };
}
}
#endif