#include "ui/views/test/widget_test.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/raw_ptr_exclusion.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "ui/aura/client/focus_client.h"
#include "ui/aura/test/aura_test_helper.h"
#include "ui/aura/window.h"
#include "ui/aura/window_delegate.h"
#include "ui/aura/window_tree_host.h"
#include "ui/compositor/layer.h"
#include "ui/views/widget/widget.h"
#include "ui/wm/core/shadow_controller.h"
#if BUILDFLAG(ENABLE_DESKTOP_AURA)
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h"
#endif
namespace views::test {
namespace {
bool FindLayersInOrder(
const std::vector<raw_ptr<ui::Layer, VectorExperimental>>& children,
const ui::Layer** first,
const ui::Layer** second) { … }
#if BUILDFLAG(IS_WIN)
struct FindAllWindowsData {
RAW_PTR_EXCLUSION std::vector<aura::Window*>* windows;
};
BOOL CALLBACK FindAllWindowsCallback(HWND hwnd, LPARAM param) {
FindAllWindowsData* data = reinterpret_cast<FindAllWindowsData*>(param);
if (aura::WindowTreeHost* host =
aura::WindowTreeHost::GetForAcceleratedWidget(hwnd))
data->windows->push_back(host->window());
return TRUE;
}
#endif
std::vector<aura::Window*> GetAllTopLevelWindows() { … }
}
void WidgetTest::SimulateNativeActivate(Widget* widget) { … }
bool WidgetTest::IsNativeWindowVisible(gfx::NativeWindow window) { … }
bool WidgetTest::IsWindowStackedAbove(Widget* above, Widget* below) { … }
gfx::Size WidgetTest::GetNativeWidgetMinimumContentSize(Widget* widget) { … }
ui::EventSink* WidgetTest::GetEventSink(Widget* widget) { … }
ui::ImeKeyEventDispatcher* WidgetTest::GetImeKeyEventDispatcherForWidget(
Widget* widget) { … }
bool WidgetTest::IsNativeWindowTransparent(gfx::NativeWindow window) { … }
bool WidgetTest::WidgetHasInProcessShadow(Widget* widget) { … }
Widget::Widgets WidgetTest::GetAllWidgets() { … }
void WidgetTest::WaitForSystemAppActivation() { … }
}