910e62b5创建于 1月15日历史提交
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/actor/tools/wait_tool_request.h"

#include "chrome/browser/actor/tools/tool_request_visitor_functor.h"
#include "chrome/browser/actor/tools/wait_tool.h"
#include "chrome/common/actor/action_result.h"
#include "components/tabs/public/tab_interface.h"

namespace actor {

WaitToolRequest::WaitToolRequest(base::TimeDelta wait_duration,
                                 tabs::TabHandle observe_tab_handle)
    : wait_duration_(wait_duration), observe_tab_handle_(observe_tab_handle) {}

WaitToolRequest::~WaitToolRequest() = default;

ToolRequest::CreateToolResult WaitToolRequest::CreateTool(
    TaskId task_id,
    ToolDelegate& tool_delegate) const {
  return {std::make_unique<WaitTool>(task_id, tool_delegate, wait_duration_,
                                     observe_tab_handle_),
          MakeOkResult()};
}

void WaitToolRequest::Apply(ToolRequestVisitorFunctor& f) const {
  f.Apply(*this);
}

std::string_view WaitToolRequest::Name() const {
  return kName;
}

}  // namespace actor