12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // Copyright 2019 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_CUSTOM_HANDLERS_TEST_PROTOCOL_HANDLER_REGISTRY_DELEGATE_H_
- #define COMPONENTS_CUSTOM_HANDLERS_TEST_PROTOCOL_HANDLER_REGISTRY_DELEGATE_H_
- #include <set>
- #include <string>
- #include "components/custom_handlers/protocol_handler_registry.h"
- namespace custom_handlers {
- // A test ProtocolHandlerRegistry::Delegate implementation that keeps track of
- // registered protocols and doesn't change any OS settings.
- class TestProtocolHandlerRegistryDelegate
- : public custom_handlers::ProtocolHandlerRegistry::Delegate {
- public:
- TestProtocolHandlerRegistryDelegate();
- ~TestProtocolHandlerRegistryDelegate() override;
- TestProtocolHandlerRegistryDelegate(
- const TestProtocolHandlerRegistryDelegate& other) = delete;
- TestProtocolHandlerRegistryDelegate& operator=(
- const TestProtocolHandlerRegistryDelegate& other) = delete;
- // ProtocolHandlerRegistry::Delegate:
- void RegisterExternalHandler(const std::string& protocol) override;
- void DeregisterExternalHandler(const std::string& protocol) override;
- bool IsExternalHandlerRegistered(const std::string& protocol) override;
- void RegisterWithOSAsDefaultClient(const std::string& protocol,
- DefaultClientCallback callback) override;
- void CheckDefaultClientWithOS(const std::string& protocol,
- DefaultClientCallback callback) override;
- bool ShouldRemoveHandlersNotInOS() override;
- bool IsFakeRegistered(const std::string& protocol);
- bool IsFakeRegisteredWithOS(const std::string& protocol);
- void set_force_os_failure(bool force) { force_os_failure_ = force; }
- bool force_os_failure() { return force_os_failure_; }
- void Reset();
- private:
- // Holds registered protocols.
- std::set<std::string> registered_protocols_;
- std::set<std::string> os_registered_protocols_;
- bool force_os_failure_{false};
- };
- } // namespace custom_handlers
- #endif // COMPONENTS_CUSTOM_HANDLERS_TEST_PROTOCOL_HANDLER_REGISTRY_DELEGATE_H_
|