diff --git a/build/gn_run_binary.py b/build/gn_run_binary.py
index 7d83f61..130c843 100644
--- a/build/gn_run_binary.py
+++ b/build/gn_run_binary.py
@@ -8,8 +8,8 @@
   python gn_run_binary.py <binary_name> [args ...]
 """
 
-import sys
 import subprocess
+import sys
 
 # This script is designed to run binaries produced by the current build. We
 # always prefix it with "./" to avoid picking up system versions that might
@@ -19,4 +19,7 @@
 # The rest of the arguements are passed directly to the executable.
 args = [path] + sys.argv[2:]
 
-sys.exit(subprocess.call(args))
+ret = subprocess.call(args)
+if ret != 0:
+  print '%s failed with exit code %d' % (sys.argv[1], ret)
+sys.exit(ret)
diff --git a/components/network_session_configurator/network_session_configurator.cc b/components/network_session_configurator/network_session_configurator.cc
index 4f20674..06d6c166 100644
--- a/components/network_session_configurator/network_session_configurator.cc
+++ b/components/network_session_configurator/network_session_configurator.cc
@@ -195,17 +195,6 @@
       GetVariationParam(quic_trial_params, "force_hol_blocking"), "true");
 }
 
-int GetQuicSocketReceiveBufferSize(
-    const VariationParameters& quic_trial_params) {
-  int value;
-  if (base::StringToInt(
-          GetVariationParam(quic_trial_params, "receive_buffer_size"),
-          &value)) {
-    return value;
-  }
-  return 0;
-}
-
 bool ShouldQuicDelayTcpRace(const VariationParameters& quic_trial_params) {
   return !base::LowerCaseEqualsASCII(
       GetVariationParam(quic_trial_params, "disable_delay_tcp_race"), "true");
@@ -364,10 +353,6 @@
         ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params);
     params->quic_disable_connection_pooling =
         ShouldQuicDisableConnectionPooling(quic_trial_params);
-    int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params);
-    if (receive_buffer_size != 0) {
-      params->quic_socket_receive_buffer_size = receive_buffer_size;
-    }
     params->quic_delay_tcp_race = ShouldQuicDelayTcpRace(quic_trial_params);
     float load_server_info_timeout_srtt_multiplier =
         GetQuicLoadServerInfoTimeoutSrttMultiplier(quic_trial_params);
diff --git a/components/network_session_configurator/network_session_configurator_unittest.cc b/components/network_session_configurator/network_session_configurator_unittest.cc
index aa9e4c6..56e3904 100644
--- a/components/network_session_configurator/network_session_configurator_unittest.cc
+++ b/components/network_session_configurator/network_session_configurator_unittest.cc
@@ -450,17 +450,6 @@
   EXPECT_TRUE(params_.enable_quic_alternative_service_with_different_host);
 }
 
-TEST_F(NetworkSessionConfiguratorTest, QuicReceiveBufferSize) {
-  std::map<std::string, std::string> field_trial_params;
-  field_trial_params["receive_buffer_size"] = "2097152";
-  variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
-  base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
-
-  ParseFieldTrials();
-
-  EXPECT_EQ(2097152, params_.quic_socket_receive_buffer_size);
-}
-
 TEST_F(NetworkSessionConfiguratorTest, QuicDisableDelayTcpRace) {
   std::map<std::string, std::string> field_trial_params;
   field_trial_params["disable_delay_tcp_race"] = "true";
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
index 162255b2..15bd0fe 100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -69,11 +69,6 @@
 // The maximum receive window sizes for HTTP/2 sessions and streams.
 const int32_t kSpdySessionMaxRecvWindowSize = 15 * 1024 * 1024;  // 15 MB
 const int32_t kSpdyStreamMaxRecvWindowSize = 6 * 1024 * 1024;    //  6 MB
-// QUIC's socket receive buffer size.
-// We should adaptively set this buffer size, but for now, we'll use a size
-// that seems large enough to receive data at line rate for most connections,
-// and does not consume "too much" memory.
-const int32_t kQuicSocketReceiveBufferSize = 1024 * 1024;  // 1MB
 
 namespace {
 
@@ -136,7 +131,6 @@
       quic_enable_non_blocking_io(false),
       quic_disable_disk_cache(false),
       quic_prefer_aes(false),
-      quic_socket_receive_buffer_size(kQuicSocketReceiveBufferSize),
       quic_delay_tcp_race(true),
       quic_max_server_configs_stored_in_properties(0u),
       quic_clock(nullptr),
@@ -208,7 +202,6 @@
           params.quic_enable_non_blocking_io,
           params.quic_disable_disk_cache,
           params.quic_prefer_aes,
-          params.quic_socket_receive_buffer_size,
           params.quic_delay_tcp_race,
           params.quic_max_server_configs_stored_in_properties,
           params.quic_close_sessions_on_ip_change,
diff --git a/net/http/http_network_session.h b/net/http/http_network_session.h
index 6adf6e4..9d970f5fc 100644
--- a/net/http/http_network_session.h
+++ b/net/http/http_network_session.h
@@ -143,8 +143,6 @@
     bool quic_disable_disk_cache;
     // Prefer AES-GCM to ChaCha20 even if no hardware support is present.
     bool quic_prefer_aes;
-    // Size in bytes of the QUIC DUP socket receive buffer.
-    int quic_socket_receive_buffer_size;
     // Delay starting a TCP connection when QUIC believes it can speak
     // 0-RTT to a server.
     bool quic_delay_tcp_race;
diff --git a/net/quic/chromium/quic_network_transaction_unittest.cc b/net/quic/chromium/quic_network_transaction_unittest.cc
index 25f83c4..b91d3ad5 100644
--- a/net/quic/chromium/quic_network_transaction_unittest.cc
+++ b/net/quic/chromium/quic_network_transaction_unittest.cc
@@ -542,8 +542,6 @@
 
     session_.reset(new HttpNetworkSession(params_));
     session_->quic_stream_factory()->set_require_confirmation(false);
-    ASSERT_EQ(params_.quic_socket_receive_buffer_size,
-              session_->quic_stream_factory()->socket_receive_buffer_size());
   }
 
   void CheckWasQuicResponse(HttpNetworkTransaction* trans) {
@@ -4254,8 +4252,6 @@
 
     session_.reset(new HttpNetworkSession(params));
     session_->quic_stream_factory()->set_require_confirmation(true);
-    ASSERT_EQ(params.quic_socket_receive_buffer_size,
-              session_->quic_stream_factory()->socket_receive_buffer_size());
   }
 
   void TearDown() override {
diff --git a/net/quic/chromium/quic_stream_factory.cc b/net/quic/chromium/quic_stream_factory.cc
index 80388c5..efb3ae1 100644
--- a/net/quic/chromium/quic_stream_factory.cc
+++ b/net/quic/chromium/quic_stream_factory.cc
@@ -95,6 +95,12 @@
 const int32_t kQuicSessionMaxRecvWindowSize = 15 * 1024 * 1024;  // 15 MB
 const int32_t kQuicStreamMaxRecvWindowSize = 6 * 1024 * 1024;    // 6 MB
 
+// QUIC's socket receive buffer size.
+// We should adaptively set this buffer size, but for now, we'll use a size
+// that seems large enough to receive data at line rate for most connections,
+// and does not consume "too much" memory.
+const int32_t kQuicSocketReceiveBufferSize = 1024 * 1024;  // 1MB
+
 // Set the maximum number of undecryptable packets the connection will store.
 const int32_t kMaxUndecryptablePackets = 100;
 
@@ -772,7 +778,6 @@
     bool enable_non_blocking_io,
     bool disable_disk_cache,
     bool prefer_aes,
-    int socket_receive_buffer_size,
     bool delay_tcp_race,
     int max_server_configs_stored_in_properties,
     bool close_sessions_on_ip_change,
@@ -823,7 +828,6 @@
       prefer_aes_(prefer_aes),
       mark_quic_broken_when_network_blackholes_(
           mark_quic_broken_when_network_blackholes),
-      socket_receive_buffer_size_(socket_receive_buffer_size),
       delay_tcp_race_(delay_tcp_race),
       ping_timeout_(QuicTime::Delta::FromSeconds(kPingTimeoutSecs)),
       reduced_ping_timeout_(
@@ -1614,7 +1618,7 @@
     return rv;
   }
 
-  rv = socket->SetReceiveBufferSize(socket_receive_buffer_size_);
+  rv = socket->SetReceiveBufferSize(kQuicSocketReceiveBufferSize);
   if (rv != OK) {
     HistogramCreateSessionFailure(CREATION_ERROR_SETTING_RECEIVE_BUFFER);
     return rv;
@@ -1696,7 +1700,7 @@
   connection->SetMaxPacketLength(max_packet_length_);
 
   QuicConfig config = config_;
-  config.SetSocketReceiveBufferToSend(socket_receive_buffer_size_);
+  config.SetSocketReceiveBufferToSend(kQuicSocketReceiveBufferSize);
   config.set_max_undecryptable_packets(kMaxUndecryptablePackets);
   config.SetInitialSessionFlowControlWindowToSend(
       kQuicSessionMaxRecvWindowSize);
diff --git a/net/quic/chromium/quic_stream_factory.h b/net/quic/chromium/quic_stream_factory.h
index fdd2943..48c65ac 100644
--- a/net/quic/chromium/quic_stream_factory.h
+++ b/net/quic/chromium/quic_stream_factory.h
@@ -215,7 +215,6 @@
       bool enable_non_blocking_io,
       bool disable_disk_cache,
       bool prefer_aes,
-      int socket_receive_buffer_size,
       bool delay_tcp_race,
       int max_server_configs_stored_in_properties,
       bool close_sessions_on_ip_change,
@@ -395,8 +394,6 @@
     enable_connection_racing_ = enable_connection_racing;
   }
 
-  int socket_receive_buffer_size() const { return socket_receive_buffer_size_; }
-
   bool delay_tcp_race() const { return delay_tcp_race_; }
 
   bool migrate_sessions_on_network_change() const {
@@ -600,9 +597,6 @@
   // the handshake is confirmed.
   bool mark_quic_broken_when_network_blackholes_;
 
-  // Size of the UDP receive buffer.
-  int socket_receive_buffer_size_;
-
   // Set if we do want to delay TCP connection when it is racing with QUIC.
   bool delay_tcp_race_;
 
diff --git a/net/quic/chromium/quic_stream_factory_test.cc b/net/quic/chromium/quic_stream_factory_test.cc
index aeea54b9..f5e43a8 100644
--- a/net/quic/chromium/quic_stream_factory_test.cc
+++ b/net/quic/chromium/quic_stream_factory_test.cc
@@ -251,7 +251,6 @@
         enable_non_blocking_io_(true),
         disable_disk_cache_(false),
         prefer_aes_(false),
-        receive_buffer_size_(0),
         delay_tcp_race_(true),
         close_sessions_on_ip_change_(false),
         idle_connection_timeout_seconds_(kIdleConnectionTimeoutSeconds),
@@ -287,7 +286,7 @@
         always_require_handshake_confirmation_, disable_connection_pooling_,
         load_server_info_timeout_srtt_multiplier_, enable_connection_racing_,
         enable_non_blocking_io_, disable_disk_cache_, prefer_aes_,
-        receive_buffer_size_, delay_tcp_race_,
+        delay_tcp_race_,
         /*max_server_configs_stored_in_properties*/ 0,
         close_sessions_on_ip_change_,
         /*mark_quic_broken_when_network_blackholes*/ false,
@@ -791,7 +790,6 @@
   bool enable_non_blocking_io_;
   bool disable_disk_cache_;
   bool prefer_aes_;
-  int receive_buffer_size_;
   bool delay_tcp_race_;
   bool close_sessions_on_ip_change_;
   int idle_connection_timeout_seconds_;