Landing recent QUIC changes until 6/7/2016 04:42 UTC

n/a (Remove unused typedefs)

Remove unused typedefs in QUIC for PacketNumberList and PacketNumberSet.

Merge internal change: 124232563
https://codereview.chromium.org/2050363002/

Flatten QuicRandomBoolSource. No functional change. Not flag protected.

The dereference takes up to 0.2% CPU now.

Merge internal change: 124167705
https://codereview.chromium.org/2051183002/

Deprecate quic_avoid_empty_nonfin_writes

Merge internal change: 123980047
https://codereview.chromium.org/2057713002/

Replace QUIC's ServerHelloNotifier with a check to see if the decrypted packet is forward secure.  Protected by quic_no_shlo_listener.

Merge internal change: 123916474
https://codereview.chromium.org/2050303002/

Ignore QUIC data frames of length 0 for flow control accounting. Protected by --quic_ignore_zero_length_frames

If there are queued bytes and the stream is RST before they are sent, then the RstStreamFrame which is sent to the peer will correctly include the final byte offset of (sent_bytes), so flow control states will stay in sync.

Merge internal change: 123865596
https://codereview.chromium.org/2052923002/

Remove quic_crypto_server_config_default_has_chacha20. ChaCha20 is now fast. No functional change.

Merge internal change: 123859515
https://codereview.chromium.org/2042333003/

Remove unnecessary dependencies in Quic quic_packet_reader_lib. No behavior change.

Merge internal change: 123746446
https://codereview.chromium.org/2046153002/

Enable packet tossing.

Merge internal change: 123676532
https://codereview.chromium.org/2048513003/

Increase QUIC's default receive buffer size from 256k to 1MB.  Not flag protected.

No longer manually set quic_reply_to_rej to false for EndToEndTest or expect no packet loss in TestHugeResponseWithPacketLoss.

When merging into Chromium, ensure the flag is set to true as is quic_ignore_srbf.

Merge internal change: 123674806
https://codereview.chromium.org/2043043003/

Check to see if a QUIC CHLO is "acceptable" as a matter of policy in the QUIC ServerSessionBase::Helper instead of the crypto stream. Protected by --gfe2_reloadable_flag_quic_enable_chlo_policy

Merge internal change: 123671618
https://codereview.chromium.org/2041413003/

[email protected]
BUG=

Review-Url: https://codereview.chromium.org/2054933002
Cr-Commit-Position: refs/heads/master@{#399298}
diff --git a/net/quic/test_tools/quic_test_utils.cc b/net/quic/test_tools/quic_test_utils.cc
index 4140d6e2..fd5aa947 100644
--- a/net/quic/test_tools/quic_test_utils.cc
+++ b/net/quic/test_tools/quic_test_utils.cc
@@ -388,6 +388,8 @@
   ON_CALL(helper_, GenerateConnectionIdForReject(_))
       .WillByDefault(
           testing::Return(connection->random_generator()->RandUint64()));
+  ON_CALL(helper_, CanAcceptClientHello(_, _, _))
+      .WillByDefault(testing::Return(true));
 }
 
 TestQuicSpdyServerSession::~TestQuicSpdyServerSession() {}