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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
// 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 "ui/accessibility/ax_enum_test_util.h"
#include <unordered_map>
#include "ui/accessibility/ax_enums.mojom-shared.h"
namespace ui {
ax::mojom::IntListAttribute StringToIntListAttribute(
const std::string& attribute) {
static const std::unordered_map<std::string, ax::mojom::IntListAttribute>
attribute_map = {
{"kNone", ax::mojom::IntListAttribute::kNone},
{"kIndirectChildIds", ax::mojom::IntListAttribute::kIndirectChildIds},
{"kActionsIds", ax::mojom::IntListAttribute::kActionsIds},
{"kControlsIds", ax::mojom::IntListAttribute::kControlsIds},
{"kDetailsIds", ax::mojom::IntListAttribute::kDetailsIds},
{"kDescribedbyIds", ax::mojom::IntListAttribute::kDescribedbyIds},
{"kErrorMessageIds", ax::mojom::IntListAttribute::kErrormessageIds},
{"kFlowtoIds", ax::mojom::IntListAttribute::kFlowtoIds},
{"kLabelledbyIds", ax::mojom::IntListAttribute::kLabelledbyIds},
{"kRadioGroupIds", ax::mojom::IntListAttribute::kRadioGroupIds},
{"kMarkerTypes", ax::mojom::IntListAttribute::kMarkerTypes},
{"kMarkerStarts", ax::mojom::IntListAttribute::kMarkerStarts},
{"kMarkerEnds", ax::mojom::IntListAttribute::kMarkerEnds},
{"kHighlightTypes", ax::mojom::IntListAttribute::kHighlightTypes},
{"kCaretBounds", ax::mojom::IntListAttribute::kCaretBounds},
{"kCharacterOffsets", ax::mojom::IntListAttribute::kCharacterOffsets},
{"kLineStarts", ax::mojom::IntListAttribute::kLineStarts},
{"kLineEnds", ax::mojom::IntListAttribute::kLineEnds},
{"kSentenceStarts", ax::mojom::IntListAttribute::kSentenceStarts},
{"kSentenceEnds", ax::mojom::IntListAttribute::kSentenceEnds},
{"kWordStarts", ax::mojom::IntListAttribute::kWordStarts},
{"kWordEnds", ax::mojom::IntListAttribute::kWordEnds},
{"kCustomActionIds", ax::mojom::IntListAttribute::kCustomActionIds},
{"kTextOperationStartOffsets",
ax::mojom::IntListAttribute::kTextOperationStartOffsets},
{"kTextOperationEndOffsets",
ax::mojom::IntListAttribute::kTextOperationEndOffsets},
{"kTextOperationStartAnchorIds",
ax::mojom::IntListAttribute::kTextOperationStartAnchorIds},
{"kTextOperationEndAnchorIds",
ax::mojom::IntListAttribute::kTextOperationEndAnchorIds},
{"kTextOperations", ax::mojom::IntListAttribute::kTextOperations},
{"kAriaNotificationInterruptProperties",
ax::mojom::IntListAttribute::kAriaNotificationInterruptProperties},
{"kAriaNotificationPriorityProperties",
ax::mojom::IntListAttribute::kAriaNotificationPriorityProperties}};
auto it = attribute_map.find(attribute);
if (it != attribute_map.end()) {
return it->second;
}
NOTREACHED() << "An invalid IntListAttribute was provided: " << attribute;
}
} // namespace ui
|