blob: 16d9679542ffc3f4012be94453e19e79a991ac0c [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 COMPONENTS_CONTENT_CAPTURE_COMMON_CONTENT_CAPTURE_MOJOM_TRAITS_H_
#define COMPONENTS_CONTENT_CAPTURE_COMMON_CONTENT_CAPTURE_MOJOM_TRAITS_H_
#include <vector>
#include "components/content_capture/common/content_capture_data.h"
#include "components/content_capture/common/content_capture_data.mojom.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "ui/gfx/geometry/rect_f.h"
namespace mojo {
template <>
class StructTraits<content_capture::mojom::ContentCaptureDataDataView,
content_capture::ContentCaptureData> {
public:
static int64_t id(const content_capture::ContentCaptureData& r) {
return r.id;
}
static const base::string16& value(
const content_capture::ContentCaptureData& r) {
return r.value;
}
static const gfx::Rect& bounds(const content_capture::ContentCaptureData& r) {
return r.bounds;
}
static const std::vector<content_capture::ContentCaptureData>& children(
const content_capture::ContentCaptureData& r) {
return r.children;
}
static bool Read(content_capture::mojom::ContentCaptureDataDataView data,
content_capture::ContentCaptureData* out_data);
};
} // namespace mojo
#endif // COMPONENTS_CONTENT_CAPTURE_COMMON_CONTENT_CAPTURE_MOJOM_TRAITS_H_