Index: net/http2/decoder/frame_parts_collector_listener.h |
diff --git a/net/http2/decoder/frame_parts_collector_listener.h b/net/http2/decoder/frame_parts_collector_listener.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..89b7fed102741435f279398a82eacb769cadaf68 |
--- /dev/null |
+++ b/net/http2/decoder/frame_parts_collector_listener.h |
@@ -0,0 +1,83 @@ |
+// Copyright 2016 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 NET_HTTP2_DECODER_FRAME_PARTS_COLLECTOR_LISTENER_H_ |
+#define NET_HTTP2_DECODER_FRAME_PARTS_COLLECTOR_LISTENER_H_ |
+ |
+// FramePartsCollectorListener extends FramePartsCollector with an |
+// implementation of every method of Http2FrameDecoderListener; it is |
+// essentially the union of all the Listener classes in the tests of the |
+// payload decoders (i.e. in ./payload_decoders/*_test.cc files), with the |
+// addition of the OnFrameHeader method. |
+// FramePartsCollectorListener supports tests of Http2FrameDecoder. |
+ |
+#include <stddef.h> |
+ |
+#include "net/http2/decoder/frame_parts_collector.h" |
+#include "net/http2/decoder/http2_frame_decoder_listener.h" |
+#include "net/http2/http2_constants.h" |
+#include "net/http2/http2_structures.h" |
+ |
+namespace net { |
+namespace test { |
+ |
+class FramePartsCollectorListener : public FramePartsCollector { |
+ public: |
+ FramePartsCollectorListener() {} |
+ ~FramePartsCollectorListener() override {} |
+ |
+ // TODO(jamessynge): Remove OnFrameHeader once done with supporting |
+ // SpdyFramer's exact states. |
+ bool OnFrameHeader(const Http2FrameHeader& header) override; |
+ void OnDataStart(const Http2FrameHeader& header) override; |
+ void OnDataPayload(const char* data, size_t len) override; |
+ void OnDataEnd() override; |
+ void OnHeadersStart(const Http2FrameHeader& header) override; |
+ void OnHeadersPriority(const Http2PriorityFields& priority) override; |
+ void OnHpackFragment(const char* data, size_t len) override; |
+ void OnHeadersEnd() override; |
+ void OnPriorityFrame(const Http2FrameHeader& header, |
+ const Http2PriorityFields& priority_fields) override; |
+ void OnContinuationStart(const Http2FrameHeader& header) override; |
+ void OnContinuationEnd() override; |
+ void OnPadLength(size_t pad_length) override; |
+ void OnPadding(const char* padding, size_t skipped_length) override; |
+ void OnRstStream(const Http2FrameHeader& header, |
+ Http2ErrorCode error_code) override; |
+ void OnSettingsStart(const Http2FrameHeader& header) override; |
+ void OnSetting(const Http2SettingFields& setting_fields) override; |
+ void OnSettingsEnd() override; |
+ void OnSettingsAck(const Http2FrameHeader& header) override; |
+ void OnPushPromiseStart(const Http2FrameHeader& header, |
+ const Http2PushPromiseFields& promise, |
+ size_t total_padding_length) override; |
+ void OnPushPromiseEnd() override; |
+ void OnPing(const Http2FrameHeader& header, |
+ const Http2PingFields& ping) override; |
+ void OnPingAck(const Http2FrameHeader& header, |
+ const Http2PingFields& ping) override; |
+ void OnGoAwayStart(const Http2FrameHeader& header, |
+ const Http2GoAwayFields& goaway) override; |
+ void OnGoAwayOpaqueData(const char* data, size_t len) override; |
+ void OnGoAwayEnd() override; |
+ void OnWindowUpdate(const Http2FrameHeader& header, |
+ uint32_t window_size_increment) override; |
+ void OnAltSvcStart(const Http2FrameHeader& header, |
+ size_t origin_length, |
+ size_t value_length) override; |
+ void OnAltSvcOriginData(const char* data, size_t len) override; |
+ void OnAltSvcValueData(const char* data, size_t len) override; |
+ void OnAltSvcEnd() override; |
+ void OnUnknownStart(const Http2FrameHeader& header) override; |
+ void OnUnknownPayload(const char* data, size_t len) override; |
+ void OnUnknownEnd() override; |
+ void OnPaddingTooLong(const Http2FrameHeader& header, |
+ size_t missing_length) override; |
+ void OnFrameSizeError(const Http2FrameHeader& header) override; |
+}; |
+ |
+} // namespace test |
+} // namespace net |
+ |
+#endif // NET_HTTP2_DECODER_FRAME_PARTS_COLLECTOR_LISTENER_H_ |