Index: net/quic/chromium/quic_chromium_client_session.h |
diff --git a/net/quic/chromium/quic_chromium_client_session.h b/net/quic/chromium/quic_chromium_client_session.h |
index b17343aac1fe15f1cecc969956171abf463449fd..e0a6d0dbdee460a96be430e31f2b109355ab4df8 100644 |
--- a/net/quic/chromium/quic_chromium_client_session.h |
+++ b/net/quic/chromium/quic_chromium_client_session.h |
@@ -38,6 +38,7 @@ |
#include "net/quic/core/quic_server_id.h" |
#include "net/quic/core/quic_time.h" |
#include "net/socket/socket_performance_watcher.h" |
+#include "net/spdy/server_push_delegate.h" |
namespace net { |
@@ -298,7 +299,7 @@ class NET_EXPORT_PRIVATE QuicChromiumClientSession |
// Returns true if session has one ore more streams marked as non-migratable. |
bool HasNonMigratableStreams() const; |
- void HandlePromised(QuicStreamId associated_id, |
+ bool HandlePromised(QuicStreamId associated_id, |
QuicStreamId promised_id, |
const SpdyHeaderBlock& headers) override; |
@@ -306,6 +307,10 @@ class NET_EXPORT_PRIVATE QuicChromiumClientSession |
void OnPushStreamTimedOut(QuicStreamId stream_id) override; |
+ void set_push_delegte(ServerPushDelegate* push_delegate) { |
+ push_delegate_ = push_delegate; |
+ } |
+ |
// Cancels the push if the push stream for |url| has not been claimed and is |
// still active. Otherwise, no-op. |
void CancelPush(const GURL& url); |
@@ -388,6 +393,9 @@ class NET_EXPORT_PRIVATE QuicChromiumClientSession |
// True when the session receives a go away from server due to port migration. |
bool port_migration_detected_; |
TokenBindingSignatureMap token_binding_signatures_; |
+ // Not owned. |push_delegate_| outlives the session and handles server pushes |
+ // received by session. |
+ ServerPushDelegate* push_delegate_; |
// UMA histogram counters for streams pushed to this session. |
int streams_pushed_count_; |
int streams_pushed_and_claimed_count_; |