// Copyright 2017 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_PERMISSIONS_FAKE_USB_CHOOSER_CONTROLLER_H_ #define COMPONENTS_PERMISSIONS_FAKE_USB_CHOOSER_CONTROLLER_H_ #include #include "components/permissions/chooser_controller.h" // A subclass of permissions::ChooserController that pretends to be a USB device // chooser for testing. The result should be visually similar to the real // version of the dialog for interactive tests. class FakeUsbChooserController : public permissions::ChooserController { public: explicit FakeUsbChooserController(int device_count); FakeUsbChooserController(const FakeUsbChooserController&) = delete; FakeUsbChooserController& operator=(const FakeUsbChooserController&) = delete; // permissions::ChooserController: std::u16string GetNoOptionsText() const override; std::u16string GetOkButtonLabel() const override; std::pair GetThrobberLabelAndTooltip() const override; size_t NumOptions() const override; std::u16string GetOption(size_t index) const override; void Select(const std::vector& indices) override {} void Cancel() override {} void Close() override {} void OpenHelpCenterUrl() const override {} void set_device_count(size_t device_count) { device_count_ = device_count; } private: // The number of fake devices to include in the chooser. Names are generated // for them. size_t device_count_ = 0; }; #endif // COMPONENTS_PERMISSIONS_FAKE_USB_CHOOSER_CONTROLLER_H_