#include "chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.h"
#include <utility>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "build/build_config.h"
#include "chrome/browser/profiles/profile_io_data.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_service.h"
#include "components/user_prefs/user_prefs.h"
#include "content/public/browser/child_process_security_policy.h"
class PrefService;
BrowserThread;
ChildProcessSecurityPolicy;
ChromeProtocolHandlerRegistryDelegate::ChromeProtocolHandlerRegistryDelegate() =
default;
ChromeProtocolHandlerRegistryDelegate::
~ChromeProtocolHandlerRegistryDelegate() = default;
void ChromeProtocolHandlerRegistryDelegate::RegisterExternalHandler(
const std::string& protocol) { … }
bool ChromeProtocolHandlerRegistryDelegate::IsExternalHandlerRegistered(
const std::string& protocol) { … }
void ChromeProtocolHandlerRegistryDelegate::RegisterWithOSAsDefaultClient(
const std::string& protocol,
DefaultClientCallback callback) { … }
void ChromeProtocolHandlerRegistryDelegate::CheckDefaultClientWithOS(
const std::string& protocol,
DefaultClientCallback callback) { … }
bool ChromeProtocolHandlerRegistryDelegate::ShouldRemoveHandlersNotInOS() { … }
void ChromeProtocolHandlerRegistryDelegate::
OnSetAsDefaultClientForSchemeFinished(
const std::string& protocol,
DefaultClientCallback callback,
shell_integration::DefaultWebClientState state) { … }
shell_integration::DefaultWebClientWorkerCallback
ChromeProtocolHandlerRegistryDelegate::GetDefaultWebClientCallback(
const std::string& protocol,
DefaultClientCallback callback) { … }