chromium/content/browser/accessibility/scoped_mode_collection.cc

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

#include "content/browser/accessibility/scoped_mode_collection.h"

#include <utility>

#include "base/memory/raw_ptr.h"
#include "base/ranges/algorithm.h"
#include "content/public/browser/scoped_accessibility_mode.h"

namespace content {

// A concrete ScopedAccessibilityMode that belongs to a `ScopedModeCollection`.
// Instances remove themselves from their collection if they are destroyed
// before the collection itself. Instances may outlive their collection, in
// which case the collection deactivates them so that they do nothing when
// destroyed.
class ScopedModeCollection::ScopedAccessibilityModeImpl
    : public ScopedAccessibilityMode {};

ScopedModeCollection::ScopedModeCollection(
    OnModeChangedCallback on_mode_changed)
    :{}

ScopedModeCollection::~ScopedModeCollection() {}

std::unique_ptr<ScopedAccessibilityMode> ScopedModeCollection::Add(
    ui::AXMode mode) {}

void ScopedModeCollection::OnDestroyed(ScoperKey scoper_key) {}

void ScopedModeCollection::RecalculateEffectiveModeAndNotify() {}

}  // namespace content