1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
content / public / browser / scoped_accessibility_mode.h [blame]
// 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.
#ifndef CONTENT_PUBLIC_BROWSER_SCOPED_ACCESSIBILITY_MODE_H_
#define CONTENT_PUBLIC_BROWSER_SCOPED_ACCESSIBILITY_MODE_H_
#include "content/common/content_export.h"
#include "ui/accessibility/ax_mode.h"
namespace content {
// An object that binds the application of one or more accessibility mode flags
// to the process, a BrowserContext, or a WebContents for the duration of its
// lifetime. See BrowserAccessibilityState for factory functions.
class CONTENT_EXPORT ScopedAccessibilityMode {
public:
ScopedAccessibilityMode(const ScopedAccessibilityMode&) = delete;
ScopedAccessibilityMode& operator=(const ScopedAccessibilityMode&) = delete;
virtual ~ScopedAccessibilityMode() = default;
// Returns the accessibility mode flags applied by this instance to
// WebContentses in its scope.
ui::AXMode mode() const { return mode_; }
protected:
explicit ScopedAccessibilityMode(ui::AXMode mode) : mode_(mode) {}
private:
const ui::AXMode mode_;
};
} // namespace content
#endif // CONTENT_PUBLIC_BROWSER_SCOPED_ACCESSIBILITY_MODE_H_