chromium/third_party/blink/renderer/modules/mediasession/media_session.cc

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/modules/mediasession/media_session.h"

#include <memory>
#include <optional>

#include "base/time/default_tick_clock.h"
#include "base/time/time.h"
#include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom-blink.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.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_action_handler.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_media_session_seek_to_action_details.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/navigator.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/modules/mediasession/media_metadata.h"
#include "third_party/blink/renderer/modules/mediasession/media_metadata_sanitizer.h"
#include "third_party/blink/renderer/modules/mediasession/media_session_type_converters.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"

namespace blink {

namespace {

MediaSessionAction;

const AtomicString& MojomActionToActionName(MediaSessionAction action) {}

std::optional<MediaSessionAction> ActionNameToMojomAction(
    const String& action_name) {}

const AtomicString& MediaSessionPlaybackStateToString(
    mojom::blink::MediaSessionPlaybackState state) {}

mojom::blink::MediaSessionPlaybackState StringToMediaSessionPlaybackState(
    const String& state_name) {}

}  // anonymous namespace

const char MediaSession::kSupplementName[] =;

MediaSession* MediaSession::mediaSession(Navigator& navigator) {}

MediaSession::MediaSession(Navigator& navigator)
    :{}

void MediaSession::setPlaybackState(const String& playback_state) {}

String MediaSession::playbackState() {}

void MediaSession::setMetadata(MediaMetadata* metadata) {}

MediaMetadata* MediaSession::metadata() const {}

void MediaSession::OnMetadataChanged() {}

void MediaSession::setActionHandler(const String& action,
                                    V8MediaSessionActionHandler* handler,
                                    ExceptionState& exception_state) {}

void MediaSession::setPositionState(MediaPositionState* position_state,
                                    ExceptionState& exception_state) {}

void MediaSession::setMicrophoneActive(bool active) {}

void MediaSession::setCameraActive(bool active) {}

void MediaSession::NotifyActionChange(const String& action,
                                      ActionChangeType type) {}

base::TimeDelta MediaSession::GetPositionNow() const {}

void MediaSession::RecalculatePositionState(bool was_set) {}

mojom::blink::MediaSessionService* MediaSession::GetService() {}

void MediaSession::DidReceiveAction(
    media_session::mojom::blink::MediaSessionAction action,
    mojom::blink::MediaSessionActionDetailsPtr details) {}

void MediaSession::Trace(Visitor* visitor) const {}

}  // namespace blink