blob: 3f3211c29e1886994d8382f55a5280afd3a6b231 [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 COMPONENTS_PERMISSIONS_TEST_MOCK_PERMISSION_UI_SELECTOR_H_
#define COMPONENTS_PERMISSIONS_TEST_MOCK_PERMISSION_UI_SELECTOR_H_
#include "components/permissions/prediction_service/permission_ui_selector.h"
// Test implementation of PermissionUiSelector that always returns a canned
// decision.
class MockPermissionUiSelector : public permissions::PermissionUiSelector {
public:
explicit MockPermissionUiSelector(const Decision& canned_decision)
: canned_decision_(canned_decision) {}
MockPermissionUiSelector(const MockPermissionUiSelector&) = delete;
MockPermissionUiSelector& operator=(const MockPermissionUiSelector&) = delete;
~MockPermissionUiSelector() override = default;
std::optional<permissions::PermissionUiSelector::PredictionGrantLikelihood>
last_request_grant_likelihood_;
std::optional<permissions::PermissionRequestRelevance>
last_permission_request_relevance_;
std::optional<bool> was_decision_held_back_;
protected:
// permissions::PermissionUiSelector:
void SelectUiToUse(content::WebContents* web_contents,
permissions::PermissionRequest* request,
DecisionMadeCallback callback) override;
bool IsPermissionRequestSupported(
permissions::RequestType request_type) override;
std::optional<permissions::PermissionUiSelector::PredictionGrantLikelihood>
PredictedGrantLikelihoodForUKM() override;
std::optional<permissions::PermissionRequestRelevance>
PermissionRequestRelevanceForUKM() override;
std::optional<bool> WasSelectorDecisionHeldback() override;
private:
Decision canned_decision_;
};
#endif // COMPONENTS_PERMISSIONS_TEST_MOCK_PERMISSION_UI_SELECTOR_H_