blob: b728b6f65a2705217f83df12798bddf998d36653 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_SCRIPT_H_
#define COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_SCRIPT_H_
#include <memory>
#include <string>
#include "components/autofill_assistant/browser/script_precondition.h"
#include "components/autofill_assistant/browser/service.pb.h"
namespace autofill_assistant {
// Minimal information about a script necessary to display and run it.
struct ScriptHandle {
ScriptHandle();
ScriptHandle(const ScriptHandle& orig);
~ScriptHandle();
std::string name;
std::string path;
std::string initial_prompt;
// When set to true this script can be run in 'autostart mode'. Script won't
// be shown.
bool autostart;
ChipType chip_type;
// If set, the script might be run during WaitForDom actions with
// allow_interrupt=true.
bool interrupt;
};
// Script represents a sequence of actions.
struct Script {
Script();
~Script();
ScriptHandle handle;
// Display priority of the script. Lowest number has highest priority, which
// means a script with priority 0 should be displayed before a script with
// priority 1.
int priority;
std::unique_ptr<ScriptPrecondition> precondition;
};
} // namespace autofill_assistant
#endif // COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_SCRIPT_H_