// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_SCHEME_REGISTRY_H_ #define THIRD_PARTY_BLINK_PUBLIC_COMMON_SCHEME_REGISTRY_H_ #include <string> #include "third_party/blink/public/common/common_export.h" namespace blink { // Scheme registry interface that can be used both in the browser and renderer // processes. See blink::SchemeRegistry for the methods that are only needed // in renderers. Use url::SchemeRegistry for more generic and lower-layer // interfaces that can live in //url layer. // // "This registry is not thread-safe, registering or removing schemes need to be // done before multi-thread access to the registry start to happen, or entire // access to this registry must be done on the single thread. Typically, it is // expected that Register* methods are called by RegisterContentSchemes during // the process initialization, and Remove* methods are only called by tests." // // TODO (jfernandez): Add DCHECKs to ensure mutable access is done before the // threads are created. class BLINK_COMMON_EXPORT CommonSchemeRegistry { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_PUBLIC_COMMON_SCHEME_REGISTRY_H_