Roll src/net/third_party/quiche/src/ ff86db3f4..7eef071bd (10 commits)

https://quiche.googlesource.com/quiche.git/+log/ff86db3f4a3d..7eef071bd3d6

$ git log ff86db3f4..7eef071bd --date=short --no-merges --format='%ad %ae %s'
2019-05-09 quiche-dev Change SendOrQueueMessage to take a QuicMemSliceSpan.
2019-05-09 fayang gfe-relnote: In QUIC, factor out ProcessVersionLabel and ValidateIetfConnectionIdLength functions. No functional change expected, not protected.
2019-05-09 fayang gfe-relnote: In QUIC, stop setting and restoring framer's version in QuicDispatcher::StatelesslyTerminateConnection as terminator now have its own framer. Not protected as this is no-op change.
2019-05-09 ianswett Re-enable QuicConnectionTest::AckNeedsRetransmittableFrames when multiple packet number spaces are used by setting the encryption level.
2019-05-09 danzh gfe-relnote: n/a(code clean up) Clean up #include in quic proof_source and proof_verifier.
2019-05-08 renjietang Allow QuicStream constructor to take parameter on static-ness when constructing from PendingStream.
2019-05-08 dschinazi Make QUIC server set fixed bit in version negotiation packets
2019-05-08 bnc Fix QpackRoundTripFuzzer when cookies are split along '\0'.
2019-05-08 renjietang Add APIs to allow sessions to read stream types from pending stream.
2019-05-08 nharper gfe-relnote: Remove client-side support for Channel ID from QUIC. Not flag protected.

Created with:
  roll-dep src/net/third_party/quiche/src src/third_party/quic_trace/src

R=rch@chromium.org

Change-Id: I5b14616ed27a9a5294825a9646e1e0ec338b2b16
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1603184
Reviewed-by: Steve Anton <steveanton@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Commit-Queue: Dan Zhang <danzh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#658360}
diff --git a/DEPS b/DEPS
index 2654405..5013794 100644
--- a/DEPS
+++ b/DEPS
@@ -272,7 +272,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'quiche_revision': 'ff86db3f4a3d59250eeafbb9787fb52b70e6ac31',
+  'quiche_revision': '7eef071bd3d6738a167533695485c559310435bf',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ios_webkit
   # and whatever else without interference from each other.
diff --git a/net/quic/platform/impl/quic_test_mem_slice_vector_impl.cc b/net/quic/platform/impl/quic_test_mem_slice_vector_impl.cc
index ff0c376f..b1c3198 100644
--- a/net/quic/platform/impl/quic_test_mem_slice_vector_impl.cc
+++ b/net/quic/platform/impl/quic_test_mem_slice_vector_impl.cc
@@ -21,6 +21,20 @@
   }
 }
 
+QuicTestMemSliceVectorImpl::QuicTestMemSliceVectorImpl(
+    QuicTestMemSliceVectorImpl&& other) {
+  *this = std::move(other);
+}
+
+QuicTestMemSliceVectorImpl& QuicTestMemSliceVectorImpl::operator=(
+    QuicTestMemSliceVectorImpl&& other) {
+  if (this != &other) {
+    buffers_ = std::move(other.buffers_);
+    lengths_ = std::move(other.lengths_);
+  }
+  return *this;
+}
+
 QuicMemSliceSpanImpl QuicTestMemSliceVectorImpl::span() {
   return QuicMemSliceSpanImpl(buffers_.data(), lengths_.data(),
                               buffers_.size());
diff --git a/net/quic/platform/impl/quic_test_mem_slice_vector_impl.h b/net/quic/platform/impl/quic_test_mem_slice_vector_impl.h
index 26acc2f3..f256d400 100644
--- a/net/quic/platform/impl/quic_test_mem_slice_vector_impl.h
+++ b/net/quic/platform/impl/quic_test_mem_slice_vector_impl.h
@@ -5,6 +5,8 @@
 #ifndef NET_QUIC_PLATFORM_IMPL_QUIC_TEST_MEM_SLICE_VECTOR_IMPL_H_
 #define NET_QUIC_PLATFORM_IMPL_QUIC_TEST_MEM_SLICE_VECTOR_IMPL_H_
 
+#include <memory>
+
 #include "net/quic/platform/impl/quic_mem_slice_span_impl.h"
 
 namespace quic {
@@ -25,6 +27,9 @@
       std::vector<std::pair<char*, size_t>> buffers);
   ~QuicTestMemSliceVectorImpl();
 
+  QuicTestMemSliceVectorImpl(QuicTestMemSliceVectorImpl&& other);
+  QuicTestMemSliceVectorImpl& operator=(QuicTestMemSliceVectorImpl&& other);
+
   QuicMemSliceSpanImpl span();
 
  private:
diff --git a/net/quic/quic_flags_list.h b/net/quic/quic_flags_list.h
index 769a92d..c396147 100644
--- a/net/quic/quic_flags_list.h
+++ b/net/quic/quic_flags_list.h
@@ -358,3 +358,9 @@
 QUIC_FLAG(bool,
           FLAGS_quic_restart_flag_quic_server_drop_version_negotiation,
           false)
+
+// When true, version negotiation packets sent by the server will set the fixed
+// bit.
+QUIC_FLAG(bool,
+          FLAGS_quic_reloadable_flag_quic_send_version_negotiation_fixed_bit,
+          false)
diff --git a/third_party/blink/renderer/modules/peerconnection/adapters/p2p_quic_stream_impl.cc b/third_party/blink/renderer/modules/peerconnection/adapters/p2p_quic_stream_impl.cc
index f2a2371..f0b6250 100644
--- a/third_party/blink/renderer/modules/peerconnection/adapters/p2p_quic_stream_impl.cc
+++ b/third_party/blink/renderer/modules/peerconnection/adapters/p2p_quic_stream_impl.cc
@@ -25,7 +25,9 @@
                                      quic::QuicSession* session,
                                      uint32_t delegate_read_buffer_size,
                                      uint32_t write_buffer_size)
-    : quic::QuicStream(std::move(pending), quic::BIDIRECTIONAL),
+    : quic::QuicStream(std::move(pending),
+                       quic::BIDIRECTIONAL,
+                       /*is_static=*/false),
       delegate_read_buffer_size_(delegate_read_buffer_size),
       write_buffer_size_(write_buffer_size) {
   DCHECK_GT(delegate_read_buffer_size_, 0u);