// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // WebSocketHandshakeThrottle provides a facility for embedders to delay // WebSocket connection establishment. Specifically, at the same time as the // handshake is started blink::Platform::CreateWebSocketHandshakeThrottle() will // be called. If a non-null WebSocketHandshakeThrottle is returned then // ThrottleHandshake() will be called on it. If the result is error then the // handshake will be aborted, and a connection error will be reported to // Javascript. If the throttle hasn't reported a result when the WebSocket // handshake succeeds then Blink will wait for the throttle result before // reporting the connection is open to Javascript. #ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEBSOCKET_HANDSHAKE_THROTTLE_H_ #define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEBSOCKET_HANDSHAKE_THROTTLE_H_ #include <optional> #include "base/functional/callback.h" namespace blink { class WebURL; class WebString; class WebSecurityOrigin; // Embedders can implement this class to delay WebSocket connections. class WebSocketHandshakeThrottle { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEBSOCKET_HANDSHAKE_THROTTLE_H_