blob: 46d10ce4086644f4fa2e850ccc0ca33f7cbd5402 [file] [log] [blame]
// 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.
#ifndef CHROME_BROWSER_ACTOR_TOOLS_HISTORY_TOOL_REQUEST_H_
#define CHROME_BROWSER_ACTOR_TOOLS_HISTORY_TOOL_REQUEST_H_
#include <memory>
#include <string>
#include "chrome/browser/actor/tools/tool_request.h"
#include "url/gurl.h"
namespace actor {
class ToolRequestVisitorFunctor;
// Invokes a history back or forward traversal in a specified tab.
class HistoryToolRequest : public TabToolRequest {
public:
enum class Direction {
kBack,
kForward,
};
HistoryToolRequest(tabs::TabHandle handle, Direction direction);
~HistoryToolRequest() override;
void Apply(ToolRequestVisitorFunctor& f) const override;
// ToolRequest
CreateToolResult CreateTool(TaskId task_id,
ToolDelegate& tool_delegate) const override;
std::string Name() const override;
bool RequiresUrlCheckInCurrentTab() const override;
// Whether the navigation is backwards or forwards in session history.
Direction direction_;
};
} // namespace actor
#endif // CHROME_BROWSER_ACTOR_TOOLS_HISTORY_TOOL_REQUEST_H_