blob: c2b1a15d241811bac6c16dd638fa86d3aa4c4263 [file] [log] [blame]
// 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/omnibox/browser/fake_on_device_tail_model_service.h"
#include <utility>
#include "base/task/sequenced_task_runner.h"
#include "base/task/task_traits.h"
#include "base/task/thread_pool.h"
FakeOnDeviceTailModelService::FakeOnDeviceTailModelService() = default;
void FakeOnDeviceTailModelService::OnModelUpdated(
optimization_guide::proto::OptimizationTarget optimization_target,
base::optional_ref<const optimization_guide::ModelInfo> model_info) {
if (optimization_target !=
optimization_guide::proto::
OPTIMIZATION_TARGET_OMNIBOX_ON_DEVICE_TAIL_SUGGEST) {
return;
}
// Only initialize the runner and the executor here, such that tests without
// test task environment will not fail unless they explicitly call
// `OnModelUpdated`.
model_executor_task_runner_ = base::ThreadPool::CreateSequencedTaskRunner(
{base::MayBlock(), base::TaskPriority::BEST_EFFORT});
tail_model_executor_ =
ExecutorUniquePtr(new OnDeviceTailModelExecutor(),
base::OnTaskRunnerDeleter(model_executor_task_runner_));
OnDeviceTailModelService::OnModelUpdated(optimization_target, model_info);
}