diff options
author | Liang Qi <liang.qi@qt.io> | 2016-11-01 10:27:41 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-11-02 09:24:11 +0100 |
commit | d7e4980132057aa10e54137114bf65e06c455030 (patch) | |
tree | 9d6ae36efa0cf84a612bfec6cf3dd2ea7f7e3446 /src/network/access/qhttp2protocolhandler_p.h | |
parent | 44c402b4bfba44480382244b8409fb3cf34d7ac1 (diff) | |
parent | a732576a66ff2bbd9c0b41cd5f3505a4d2fbf043 (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Blacklist tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() on macOS.
Conflicts:
mkspecs/features/mac/default_post.prf
mkspecs/features/mac/sdk.prf
mkspecs/features/uikit/default_post.prf
mkspecs/features/uikit/sdk.prf
src/angle/src/libEGL/libEGL.pro
src/platformsupport/fontdatabases/fontdatabases.pro
src/platformsupport/platformsupport.pro
src/plugins/platforms/cocoa/qnswindowdelegate.mm
src/plugins/platforms/direct2d/qwindowsdirect2dintegration.cpp
src/plugins/platforms/ios/ios.pro
src/plugins/platforms/ios/kernel.pro
tests/auto/widgets/widgets/qmenubar/BLACKLIST
tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp
Task-number: QTBUG-56853
Change-Id: If58785210feee3550892fc7768cce90e75a2416c
Diffstat (limited to 'src/network/access/qhttp2protocolhandler_p.h')
-rw-r--r-- | src/network/access/qhttp2protocolhandler_p.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/network/access/qhttp2protocolhandler_p.h b/src/network/access/qhttp2protocolhandler_p.h index 92c6851078..df0cf6a288 100644 --- a/src/network/access/qhttp2protocolhandler_p.h +++ b/src/network/access/qhttp2protocolhandler_p.h @@ -63,6 +63,7 @@ #include "http2/hpacktable_p.h" #include "http2/hpack_p.h" +#include <QtCore/qnamespace.h> #include <QtCore/qbytearray.h> #include <QtCore/qglobal.h> #include <QtCore/qobject.h> @@ -123,9 +124,11 @@ private: bool acceptSetting(Http2::Settings identifier, quint32 newValue); - void updateStream(Stream &stream, const HPack::HttpHeader &headers); - void updateStream(Stream &stream, const Http2::Frame &dataFrame); - void finishStream(Stream &stream); + void updateStream(Stream &stream, const HPack::HttpHeader &headers, + Qt::ConnectionType connectionType = Qt::DirectConnection); + void updateStream(Stream &stream, const Http2::Frame &dataFrame, + Qt::ConnectionType connectionType = Qt::DirectConnection); + void finishStream(Stream &stream, Qt::ConnectionType connectionType = Qt::DirectConnection); // Error code send by a peer (GOAWAY/RST_STREAM): void finishStreamWithError(Stream &stream, quint32 errorCode); // Locally encountered error: @@ -194,7 +197,15 @@ private: quint32 allocateStreamID(); bool validPeerStreamID() const; bool goingAway = false; - + bool pushPromiseEnabled = false; + quint32 lastPromisedID = Http2::connectionStreamID; + QHash<QString, Http2::PushPromise> promisedData; + bool tryReserveStream(const Http2::Frame &pushPromiseFrame, + const HPack::HttpHeader &requestHeader); + void resetPromisedStream(const Http2::Frame &pushPromiseFrame, + Http2::Http2Error reason); + void initReplyFromPushPromise(const HttpMessagePair &message, + const QString &cacheKey); // Errors: void connectionError(Http2::Http2Error errorCode, const char *message); |