blob: 6beea9732add396ba0841f9cba2a1566ed59d6e9 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_ACCESSIBILITY_MOJOM_AX_TREE_DATA_MOJOM_TRAITS_H_
#define UI_ACCESSIBILITY_MOJOM_AX_TREE_DATA_MOJOM_TRAITS_H_
#include "ui/accessibility/ax_tree_data.h"
#include "ui/accessibility/mojom/ax_tree_data.mojom-shared.h"
#include "ui/accessibility/mojom/ax_tree_id_mojom_traits.h"
namespace mojo {
template <>
struct StructTraits<ax::mojom::AXTreeDataDataView, ui::AXTreeData> {
static const ui::AXTreeID& tree_id(const ui::AXTreeData& p) {
return p.tree_id;
}
static const ui::AXTreeID& parent_tree_id(const ui::AXTreeData& p) {
return p.parent_tree_id;
}
static const ui::AXTreeID& focused_tree_id(const ui::AXTreeData& p) {
return p.focused_tree_id;
}
static const std::string& doctype(const ui::AXTreeData& p) {
return p.doctype;
}
static bool loaded(const ui::AXTreeData& p) { return p.loaded; }
static float loading_progress(const ui::AXTreeData& p) {
return p.loading_progress;
}
static const std::string& mimetype(const ui::AXTreeData& p) {
return p.mimetype;
}
static const std::string& title(const ui::AXTreeData& p) { return p.title; }
static const std::string& url(const ui::AXTreeData& p) { return p.url; }
static int32_t focus_id(const ui::AXTreeData& p) { return p.focus_id; }
static int32_t sel_anchor_object_id(const ui::AXTreeData& p) {
return p.sel_anchor_object_id;
}
static int32_t sel_anchor_offset(const ui::AXTreeData& p) {
return p.sel_anchor_offset;
}
static ax::mojom::TextAffinity sel_anchor_affinity(const ui::AXTreeData& p) {
return p.sel_anchor_affinity;
}
static int32_t sel_focus_object_id(const ui::AXTreeData& p) {
return p.sel_focus_object_id;
}
static int32_t sel_focus_offset(const ui::AXTreeData& p) {
return p.sel_focus_offset;
}
static ax::mojom::TextAffinity sel_focus_affinity(const ui::AXTreeData& p) {
return p.sel_focus_affinity;
}
static bool Read(ax::mojom::AXTreeDataDataView data, ui::AXTreeData* out);
};
} // namespace mojo
#endif // UI_ACCESSIBILITY_MOJOM_AX_TREE_DATA_MOJOM_TRAITS_H_