This directory contains files related to Chromium's WebSocket
implementation. See http://www.websocket.org/ for an explanation of WebSockets.

As of April 2013, the contents of this directory are in a transitional state,
and contain parts of two different WebSocket implementations.

The following files are part of the legacy implementation. The legacy
implementation performs WebSocket framing within Blink and presents a
low-level socket-like interface to the renderer process. It is described in the
design doc at
https://docs.google.com/a/google.com/document/d/1_R6YjCIrm4kikJ3YeapcOU2Keqr3lVUPd-OeaIJ93qQ/preview

websocket_handshake_handler_test.cc
websocket_handshake_handler_spdy_test.cc
websocket_job.cc
websocket_job.h
websocket_job_test.cc
websocket_net_log_params.cc
websocket_net_log_params.h
websocket_net_log_params_test.cc
websocket_throttle.cc
websocket_throttle.h
websocket_throttle_test.cc

The following files are part of the new implementation. The new implementation
performs framing and implements protocol semantics in the browser process, and
presents a high-level interface to the renderer process similar to a
multiplexing proxy. This is the default implementation from M38.

websocket_basic_handshake_stream.cc
websocket_basic_handshake_stream.h
websocket_basic_stream.cc
websocket_basic_stream.h
websocket_basic_stream_test.cc
websocket_channel.cc
websocket_channel.h
websocket_channel_test.cc
websocket_deflate_predictor.h
websocket_deflate_predictor_impl.cc
websocket_deflate_predictor_impl.h
websocket_deflate_predictor_impl_test.cc
websocket_deflate_stream.cc
websocket_deflate_stream.h
websocket_deflate_stream_test.cc
websocket_deflater.cc
websocket_deflater.h
websocket_deflater_test.cc
websocket_errors.cc
websocket_errors.h
websocket_errors_test.cc
websocket_event_interface.h
websocket_extension.cc
websocket_extension.h
websocket_extension_parser.cc
websocket_extension_parser.h
websocket_extension_parser_test.cc
websocket_frame.cc
websocket_frame.h
websocket_frame_parser.cc
websocket_frame_parser.h
websocket_frame_parser_test.cc
websocket_frame_test.cc
websocket_frame_perftest.cc
websocket_handshake_stream_base.h
websocket_handshake_stream_create_helper.cc
websocket_handshake_stream_create_helper.h
websocket_handshake_stream_create_helper_test.cc
websocket_handshake_request_info.cc
websocket_handshake_request_info.h
websocket_handshake_response_info.cc
websocket_handshake_response_info.h
websocket_inflater.cc
websocket_inflater.h
websocket_inflater_test.cc
websocket_mux.h
websocket_stream.cc
websocket_stream.h
websocket_stream_test.cc
websocket_test_util.cc
websocket_test_util.h

These files are shared between the old and new implementations.

websocket_handshake_constants.cc
websocket_handshake_constants.h
websocket_handshake_handler.cc
websocket_handshake_handler.h

A pre-submit check helps us keep this README file up-to-date:

PRESUBMIT.py
