#include "third_party/blink/renderer/modules/ai/ai_summarizer_factory.h"
#include "base/metrics/histogram_functions.h"
#include "third_party/blink/public/web/web_console_message.h"
#include "third_party/blink/renderer/modules/ai/ai.h"
#include "third_party/blink/renderer/modules/ai/ai_metrics.h"
#include "third_party/blink/renderer/modules/ai/ai_summarizer.h"
#include "third_party/blink/renderer/modules/ai/exception_helpers.h"
#include "third_party/blink/renderer/platform/mojo/heap_mojo_receiver.h"
namespace blink {
namespace {
mojom::blink::AISummarizerType ToMojoSummarizerType(V8AISummarizerType type) { … }
mojom::blink::AISummarizerFormat ToMojoSummarizerFormat(
V8AISummarizerFormat format) { … }
mojom::blink::AISummarizerLength ToMojoSummarizerLength(
V8AISummarizerLength length) { … }
class CreateSummarizerClient
: public GarbageCollected<CreateSummarizerClient>,
public ExecutionContextLifecycleObserver,
public mojom::blink::AIManagerCreateSummarizerClient { … };
}
AISummarizerFactory::AISummarizerFactory(
AI* ai,
ExecutionContext* context,
scoped_refptr<base::SequencedTaskRunner> task_runner)
: … { … }
void AISummarizerFactory::Trace(Visitor* visitor) const { … }
ScriptPromise<AISummarizerCapabilities> AISummarizerFactory::capabilities(
ScriptState* script_state,
ExceptionState& exception_state) { … }
ScriptPromise<AISummarizer> AISummarizerFactory::create(
ScriptState* script_state,
AISummarizerCreateOptions* options,
ExceptionState& exception_state) { … }
}