chromium/components/live_caption/caption_bubble_context_remote.cc

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

#include "components/live_caption/caption_bubble_context_remote.h"

#include <memory>
#include <string>

#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/weak_ptr.h"
#include "base/notreached.h"
#include "components/live_caption/caption_bubble_session_observer.h"
#include "media/mojo/mojom/speech_recognition.mojom.h"
#include "ui/gfx/geometry/rect.h"

namespace captions {

// Holds a callback to be run when a live captioning "session" (essentially,
// caption generation for one page) ends for a fixed caption bubble context. The
// context is responsible for signaling a session end when e.g. a navigation
// occurs or the page is reloaded.
//
// In the Ash browser, the caption bubble controller creates and holds one of
// these objects for each context. The object is then manually destroyed when
// the context is invalidated.
class CaptionBubbleSessionObserverRemote : public CaptionBubbleSessionObserver {};

CaptionBubbleContextRemote::CaptionBubbleContextRemote(
    mojo::PendingRemote<media::mojom::SpeechRecognitionSurface> surface,
    const std::string& session_id)
    :{}

CaptionBubbleContextRemote::~CaptionBubbleContextRemote() {}

void CaptionBubbleContextRemote::GetBounds(GetBoundsCallback callback) const {}

const std::string CaptionBubbleContextRemote::GetSessionId() const {}

void CaptionBubbleContextRemote::Activate() {}

bool CaptionBubbleContextRemote::IsActivatable() const {}

std::unique_ptr<CaptionBubbleSessionObserver>
CaptionBubbleContextRemote::GetCaptionBubbleSessionObserver() {}

void CaptionBubbleContextRemote::OnSessionEnded() {}

OpenCaptionSettingsCallback
CaptionBubbleContextRemote::GetOpenCaptionSettingsCallback() {}

}  // namespace captions