blob: 9eb4d2b8b971e0e9eb2402ec74d2762a20ca7661 [file] [log] [blame]
// Copyright 2024 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_UI_PERMISSION_BUBBLE_PERMISSION_BUBBLE_TEST_UTIL_H_
#define CHROME_BROWSER_UI_PERMISSION_BUBBLE_PERMISSION_BUBBLE_TEST_UTIL_H_
#include <memory>
#include <vector>
#include "components/permissions/permission_prompt.h"
namespace content {
class WebContents;
} // namespace content
namespace permissions {
class PermissionRequest;
}
class TestPermissionBubbleViewDelegate
: public permissions::PermissionPrompt::Delegate {
public:
TestPermissionBubbleViewDelegate();
TestPermissionBubbleViewDelegate(const TestPermissionBubbleViewDelegate&) =
delete;
TestPermissionBubbleViewDelegate& operator=(
const TestPermissionBubbleViewDelegate&) = delete;
~TestPermissionBubbleViewDelegate() override;
const std::vector<std::unique_ptr<permissions::PermissionRequest>>& Requests()
override;
GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override;
void Accept() override {}
void AcceptThisTime() override {}
void Deny() override {}
void Dismiss() override {}
void Ignore() override {}
void SetPromptOptions(PromptOptions prompt_options) override {}
void FinalizeCurrentRequests() override {}
void OpenHelpCenterLink(const ui::Event& event) override {}
void PreIgnoreQuietPrompt() override {}
void SetManageClicked() override {}
void SetLearnMoreClicked() override {}
void SetHatsShownCallback(base::OnceCallback<void()> callback) override {}
std::optional<permissions::PermissionUiSelector::QuietUiReason>
ReasonForUsingQuietUi() const override;
bool ShouldCurrentRequestUseQuietUI() const override;
bool ShouldDropCurrentRequestIfCannotShowQuietly() const override;
bool WasCurrentRequestAlreadyDisplayed() override;
void SetDismissOnTabClose() override {}
void SetPromptShown() override {}
void SetDecisionTime() override {}
bool RecreateView() override;
const permissions::PermissionPrompt* GetCurrentPrompt() const override;
content::WebContents* GetAssociatedWebContents() override;
base::WeakPtr<permissions::PermissionPrompt::Delegate> GetWeakPtr() override;
void set_requests(
std::vector<std::unique_ptr<permissions::PermissionRequest>> requests);
private:
std::vector<std::unique_ptr<permissions::PermissionRequest>> requests_;
base::WeakPtrFactory<TestPermissionBubbleViewDelegate> weak_factory_{this};
};
#endif // CHROME_BROWSER_UI_PERMISSION_BUBBLE_PERMISSION_BUBBLE_TEST_UTIL_H_