1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "next_proto.h" 6 7 namespace net { 8 9 NextProtoVector NextProtosHttpOnly() { 10 NextProtoVector next_protos; 11 next_protos.push_back(kProtoHTTP11); 12 return next_protos; 13 } 14 15 NextProtoVector NextProtosDefaults() { 16 NextProtoVector next_protos; 17 next_protos.push_back(kProtoHTTP11); 18 next_protos.push_back(kProtoSPDY3); 19 next_protos.push_back(kProtoSPDY31); 20 return next_protos; 21 } 22 23 NextProtoVector NextProtosWithSpdyAndQuic(bool spdy_enabled, 24 bool quic_enabled) { 25 NextProtoVector next_protos; 26 next_protos.push_back(kProtoHTTP11); 27 if (quic_enabled) 28 next_protos.push_back(kProtoQUIC1SPDY3); 29 if (spdy_enabled) { 30 next_protos.push_back(kProtoSPDY3); 31 next_protos.push_back(kProtoSPDY31); 32 } 33 return next_protos; 34 } 35 36 NextProtoVector NextProtosSpdy3() { 37 NextProtoVector next_protos; 38 next_protos.push_back(kProtoHTTP11); 39 next_protos.push_back(kProtoQUIC1SPDY3); 40 next_protos.push_back(kProtoSPDY3); 41 return next_protos; 42 } 43 44 NextProtoVector NextProtosSpdy31() { 45 NextProtoVector next_protos; 46 next_protos.push_back(kProtoHTTP11); 47 next_protos.push_back(kProtoQUIC1SPDY3); 48 next_protos.push_back(kProtoSPDY3); 49 next_protos.push_back(kProtoSPDY31); 50 return next_protos; 51 } 52 53 NextProtoVector NextProtosSpdy31WithSpdy2() { 54 NextProtoVector next_protos; 55 next_protos.push_back(kProtoHTTP11); 56 next_protos.push_back(kProtoQUIC1SPDY3); 57 next_protos.push_back(kProtoDeprecatedSPDY2); 58 next_protos.push_back(kProtoSPDY3); 59 next_protos.push_back(kProtoSPDY31); 60 return next_protos; 61 } 62 63 NextProtoVector NextProtosSpdy4Http2() { 64 NextProtoVector next_protos; 65 next_protos.push_back(kProtoHTTP11); 66 next_protos.push_back(kProtoQUIC1SPDY3); 67 next_protos.push_back(kProtoSPDY3); 68 next_protos.push_back(kProtoSPDY31); 69 next_protos.push_back(kProtoSPDY4); 70 return next_protos; 71 } 72 73 } // namespace net 74