Bug 1381016 - Ensure we process FIN flags on all-padding final frames. r=swu

MozReview-Commit-ID: JuSGsYsmv4n

--HG--
extra : rebase_source : a3c016560cb8209c2e6a55cd05fc6d14d2057402
This commit is contained in:
Nicholas Hurley 2017-08-01 15:24:44 -07:00
Родитель 03e036aff2
Коммит 5fd7068084
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -3226,7 +3226,10 @@ Http2Session::WriteSegmentsAgain(nsAHttpSegmentWriter *writer,
LOG3(("Http2Session::WriteSegments %p trying to discard %d bytes of data",
this, discardCount));
if (!discardCount) {
if (!discardCount && mDownstreamState == DISCARDING_DATA_FRAME) {
// Only do this short-cirtuit if we're not discarding a pure padding
// frame, as we need to potentially handle the stream FIN in those cases.
// See bug 1381016 comment 36 for more details.
ResetDownstreamState();
Unused << ResumeRecv();
return NS_BASE_STREAM_WOULD_BLOCK;