blob: 85c86d615b3345ac41b84a942edd1adecbad551b [file] [log] [blame]
// Copyright 2019 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 THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASESSION_TYPE_CONVERTERS_H_
#define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASESSION_TYPE_CONVERTERS_H_
#include "third_party/blink/public/mojom/mediasession/media_session.mojom-blink.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_media_position_state.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_media_session_action_details.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_media_session_seek_to_action_details.h"
namespace mojo {
template <>
struct TypeConverter<const blink::MediaSessionActionDetails*,
blink::mojom::blink::MediaSessionActionDetailsPtr> {
static const blink::MediaSessionActionDetails* ConvertWithActionName(
const blink::mojom::blink::MediaSessionActionDetailsPtr& details,
const WTF::AtomicString& action_name);
};
template <>
struct TypeConverter<blink::MediaSessionSeekToActionDetails*,
blink::mojom::blink::MediaSessionActionDetailsPtr> {
static blink::MediaSessionSeekToActionDetails* Convert(
const blink::mojom::blink::MediaSessionActionDetailsPtr& details);
};
template <>
struct TypeConverter<media_session::mojom::blink::MediaPositionPtr,
blink::MediaPositionState*> {
static media_session::mojom::blink::MediaPositionPtr Convert(
const blink::MediaPositionState* position);
};
} // namespace mojo
#endif // THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASESSION_TYPE_CONVERTERS_H_