| Index: net/quic/chromium/quic_chromium_client_session.cc
|
| diff --git a/net/quic/chromium/quic_chromium_client_session.cc b/net/quic/chromium/quic_chromium_client_session.cc
|
| index 72fab95b2afcbfa5ccf40224efec042b2cd9cff1..ec2dd231ca00a6080566eb7e50fc9b4cb767bd4d 100644
|
| --- a/net/quic/chromium/quic_chromium_client_session.cc
|
| +++ b/net/quic/chromium/quic_chromium_client_session.cc
|
| @@ -31,6 +31,7 @@
|
| #include "net/quic/core/quic_client_promised_info.h"
|
| #include "net/quic/core/quic_crypto_client_stream_factory.h"
|
| #include "net/quic/core/spdy_utils.h"
|
| +#include "net/spdy/push_promise_helper.h"
|
| #include "net/spdy/spdy_session.h"
|
| #include "net/ssl/channel_id_service.h"
|
| #include "net/ssl/ssl_connection_status_flags.h"
|
| @@ -162,6 +163,26 @@ class HpackDecoderDebugVisitor : public QuicHeadersStream::HpackDebugVisitor {
|
| }
|
| };
|
|
|
| +class QuicPushPromiseHelper : public PushPromiseHelper {
|
| + public:
|
| + explicit QuicPushPromiseHelper(
|
| + base::WeakPtr<QuicChromiumClientSession> session,
|
| + const GURL& url)
|
| + : session_(session), request_url_(url) {}
|
| +
|
| + void Cancel() override {
|
| + if (session_) {
|
| + session_->CancelPush(request_url_);
|
| + }
|
| + }
|
| +
|
| + const GURL& GetURL() override { return request_url_; }
|
| +
|
| + private:
|
| + base::WeakPtr<QuicChromiumClientSession> session_;
|
| + const GURL request_url_;
|
| +};
|
| +
|
| } // namespace
|
|
|
| QuicChromiumClientSession::StreamRequest::StreamRequest() : stream_(nullptr) {}
|
|
|