blob: 2876ae507ae692c8c4e8a05c791eaaf01b2d8431 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ash/arc/accessibility/arc_accessibility_test_util.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "ui/accessibility/ax_enums.mojom.h"
namespace {
void AddAction(
std::vector<arc::mojom::AccessibilityActionInAndroidPtr>* actions,
int id,
absl::optional<std::string> label) {
actions->push_back(arc::mojom::AccessibilityActionInAndroid::New());
arc::mojom::AccessibilityActionInAndroid* action = actions->back().get();
action->id = id;
if (label) {
action->label = label;
}
}
} // namespace
namespace arc {
void AddStandardAction(mojom::AccessibilityNodeInfoData* node,
mojom::AccessibilityActionType action_type,
absl::optional<std::string> label) {
if (!node->standard_actions) {
node->standard_actions =
std::vector<mojom::AccessibilityActionInAndroidPtr>();
}
AddAction(&node->standard_actions.value(), static_cast<int>(action_type),
label);
}
void AddCustomAction(mojom::AccessibilityNodeInfoData* node,
int id,
std::string label) {
if (!node->custom_actions) {
node->custom_actions =
std::vector<mojom::AccessibilityActionInAndroidPtr>();
}
AddAction(&node->custom_actions.value(), id, label);
}
} // namespace arc