summaryrefslogtreecommitdiff
path: root/chromium/components/autofill_assistant/browser/script_executor_ui_delegate.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/autofill_assistant/browser/script_executor_ui_delegate.h')
-rw-r--r--chromium/components/autofill_assistant/browser/script_executor_ui_delegate.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/chromium/components/autofill_assistant/browser/script_executor_ui_delegate.h b/chromium/components/autofill_assistant/browser/script_executor_ui_delegate.h
new file mode 100644
index 00000000000..8e5512b4874
--- /dev/null
+++ b/chromium/components/autofill_assistant/browser/script_executor_ui_delegate.h
@@ -0,0 +1,95 @@
+// Copyright 2022 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_EXECUTOR_UI_DELEGATE_H_
+#define COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_SCRIPT_EXECUTOR_UI_DELEGATE_H_
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/observer_list_types.h"
+#include "components/autofill_assistant/browser/client_status.h"
+#include "components/autofill_assistant/browser/details.h"
+#include "components/autofill_assistant/browser/info_box.h"
+#include "components/autofill_assistant/browser/state.h"
+#include "components/autofill_assistant/browser/tts_button_state.h"
+#include "components/autofill_assistant/browser/user_action.h"
+#include "components/autofill_assistant/browser/user_data.h"
+#include "url/gurl.h"
+
+namespace autofill_assistant {
+
+// A delegate which provides the ScriptExecutor with methods to control the
+// Autofill Assistant UI.
+class ScriptExecutorUiDelegate {
+ public:
+ virtual void SetStatusMessage(const std::string& message) = 0;
+ virtual std::string GetStatusMessage() const = 0;
+ virtual void SetBubbleMessage(const std::string& message) = 0;
+ virtual std::string GetBubbleMessage() const = 0;
+ virtual void SetTtsMessage(const std::string& message) = 0;
+ virtual std::string GetTtsMessage() const = 0;
+ virtual TtsButtonState GetTtsButtonState() const = 0;
+ virtual void MaybePlayTtsMessage() = 0;
+ virtual void SetDetails(std::unique_ptr<Details> details,
+ base::TimeDelta delay) = 0;
+ virtual void AppendDetails(std::unique_ptr<Details> details,
+ base::TimeDelta delay) = 0;
+ virtual void SetInfoBox(const InfoBox& info_box) = 0;
+ virtual void ClearInfoBox() = 0;
+ virtual void SetCollectUserDataOptions(
+ CollectUserDataOptions* collect_user_data_options) = 0;
+ virtual void SetLastSuccessfulUserDataOptions(
+ std::unique_ptr<CollectUserDataOptions> collect_user_data_options) = 0;
+ virtual const CollectUserDataOptions* GetLastSuccessfulUserDataOptions()
+ const = 0;
+ virtual bool SetProgressActiveStepIdentifier(
+ const std::string& active_step_identifier) = 0;
+ virtual void SetProgressActiveStep(int active_step) = 0;
+ virtual void SetProgressVisible(bool visible) = 0;
+ virtual void SetProgressBarErrorState(bool error) = 0;
+ virtual void SetStepProgressBarConfiguration(
+ const ShowProgressBarProto::StepProgressBarConfiguration&
+ configuration) = 0;
+ virtual void SetUserActions(
+ std::unique_ptr<std::vector<UserAction>> user_action) = 0;
+ virtual void SetPeekMode(ConfigureBottomSheetProto::PeekMode peek_mode) = 0;
+ virtual ConfigureBottomSheetProto::PeekMode GetPeekMode() = 0;
+ virtual void ExpandBottomSheet() = 0;
+ virtual void CollapseBottomSheet() = 0;
+ virtual bool SetForm(
+ std::unique_ptr<FormProto> form,
+ base::RepeatingCallback<void(const FormProto::Result*)> changed_callback,
+ base::OnceCallback<void(const ClientStatus&)> cancel_callback) = 0;
+ virtual void SetShowFeedbackChip(bool show_feedback_chip) = 0;
+
+ // Set how the sheet should behave when entering a prompt state.
+ virtual void SetExpandSheetForPromptAction(bool expand) = 0;
+
+ // Sets the generic UI to show to the user.
+ virtual void SetGenericUi(
+ std::unique_ptr<GenericUserInterfaceProto> generic_ui,
+ base::OnceCallback<void(const ClientStatus&)> end_action_callback,
+ base::OnceCallback<void(const ClientStatus&)>
+ view_inflation_finished_callback) = 0;
+
+ // Sets the persistent generic UI to show to the user.
+ virtual void SetPersistentGenericUi(
+ std::unique_ptr<GenericUserInterfaceProto> generic_ui,
+ base::OnceCallback<void(const ClientStatus&)>
+ view_inflation_finished_callback) = 0;
+
+ // Clears the generic UI.
+ virtual void ClearGenericUi() = 0;
+
+ // Clears the persistent generic UI.
+ virtual void ClearPersistentGenericUi() = 0;
+
+ protected:
+ virtual ~ScriptExecutorUiDelegate() {}
+};
+} // namespace autofill_assistant
+
+#endif // COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_SCRIPT_EXECUTOR_UI_DELEGATE_H_