)]}'
{
  "commit": "ab33c71abe965c573ccedadc54d38350524017af",
  "tree": "b4e6dbdd944251d1a9875edb75c183c1e920824a",
  "parents": [
    "b932f95f81e3aa2f2d45c750094a304cacfca60c"
  ],
  "author": {
    "name": "bnc",
    "email": "bnc@google.com",
    "time": "Fri Jun 28 15:42:15 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Jul 02 19:30:12 2019 -0700"
  },
  "message": "Do not pretend receiving FIN when receiving trailers in QUIC v99.\n\nIn Google QUIC, trailing HEADERS must have FIN bit.  In IETF QUIC, HTTP/3 frames\ndo not have flags, so trailing HEADERS will never have FIN.  This CL makes\nQuicSpdyStream stop faking a FIN bit.\n\nIn non-v99 QUIC, |fin| must be true at the end of OnTrailingHeadersComplete(),\notherwise the connection would have been closed in line 568.\n\nIn v99 QUIC, |fin| is false in production, when OnStreamHeaderList() is called\nfrom OnHeadersFrameEnd().  However, a large number of tests call\nOnStreamHeaderList() with fin \u003d true, so this needs to be supported for the time\nbeing.  See linked bug.\n\nThis is prework for https://crbug.com/978733.  I do not want QuicSpdyStream to\nclose the connection when trailers arrive, so that it can signal an error if\nother frames are received afterwards.\n\nAlso, according to\nhttps://quicwg.org/base-drafts/draft-ietf-quic-http.html#request-response,\nPUSH_PROMISE frames can arrive after trailers, so the stream really should\nremain open.\n\nThis CL also fixes descriptions of some QuicSpdyStream methods related to FIN\nflag.\n\ngfe-relnote: n/a, QUIC v99-only change.\nPiperOrigin-RevId: 255681867\nChange-Id: I33928191e35d601514a0be5b18b8aa5ff389c831\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f02eaebaf6d8e4152971471d7e73c417c3a034d2",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream.cc",
      "new_id": "e3d9357d35384b646a1d22ba5c9febc7c6286fc5",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "b6b46fef21a98b1153fd44a4ff93a462712f1a72",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream.h",
      "new_id": "1a5c1b66de20f231dff35ef0cb064f152db9919c",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream.h"
    },
    {
      "type": "modify",
      "old_id": "2cb4bce22833ed1042c76e23ce457b7e22ef4eb0",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream_test.cc",
      "new_id": "bab92280f0ca3693df4e03a0f1ab8b71d3a7ee36",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream_test.cc"
    }
  ]
}
