#include "ui/wm/core/transient_window_manager.h"
#include <functional>
#include "base/auto_reset.h"
#include "base/containers/contains.h"
#include "base/memory/ptr_util.h"
#include "base/not_fatal_until.h"
#include "base/observer_list.h"
#include "base/ranges/algorithm.h"
#include "ui/aura/client/transient_window_client.h"
#include "ui/aura/client/transient_window_client_observer.h"
#include "ui/aura/window.h"
#include "ui/aura/window_tracker.h"
#include "ui/base/class_property.h"
#include "ui/wm/core/transient_window_controller.h"
#include "ui/wm/core/transient_window_observer.h"
#include "ui/wm/core/transient_window_stacking_client.h"
#include "ui/wm/core/window_util.h"
Window;
DEFINE_UI_CLASS_PROPERTY_TYPE(…)
namespace wm {
namespace {
DEFINE_OWNED_UI_CLASS_PROPERTY_KEY(…)
bool HasTransientCycles(const aura::Window* window) { … }
}
TransientWindowManager::~TransientWindowManager() = default;
TransientWindowManager* TransientWindowManager::GetOrCreate(Window* window) { … }
const TransientWindowManager* TransientWindowManager::GetIfExists(
const Window* window) { … }
void TransientWindowManager::AddObserver(TransientWindowObserver* observer) { … }
void TransientWindowManager::RemoveObserver(TransientWindowObserver* observer) { … }
void TransientWindowManager::AddTransientChild(Window* child) { … }
void TransientWindowManager::RemoveTransientChild(Window* child) { … }
bool TransientWindowManager::IsStackingTransient(
const aura::Window* target) const { … }
TransientWindowManager::TransientWindowManager(Window* window)
: … { … }
void TransientWindowManager::RestackTransientDescendants() { … }
void TransientWindowManager::OnWindowHierarchyChanged(
const HierarchyChangeParams& params) { … }
void TransientWindowManager::UpdateTransientChildVisibility(
bool parent_visible) { … }
void TransientWindowManager::OnWindowVisibilityChanged(Window* window,
bool visible) { … }
void TransientWindowManager::OnWindowStackingChanged(Window* window) { … }
void TransientWindowManager::OnWindowDestroying(Window* window) { … }
}