gfe-relnote: In QUIC, only decrease cwnd gain and pacing gain when cwnd increases or allow cwnd to decrease in initial cwnd experiment. Protected by gfe2_reloadable_flag_quic_gfe_selected_initial_cwnd_experiments and ENABLED quic_fix_bbr_cwnd_in_bandwidth_resumption.

Also adjust all three groups to be equal percentages (i.e., 1/3 of traffic).

PiperOrigin-RevId: 250350250
Change-Id: I381dd05eba71d9b90193b6c3c8127b0e8744cacf
diff --git a/quic/core/congestion_control/bbr_sender.cc b/quic/core/congestion_control/bbr_sender.cc
index 98b9145..5844987 100644
--- a/quic/core/congestion_control/bbr_sender.cc
+++ b/quic/core/congestion_control/bbr_sender.cc
@@ -360,10 +360,6 @@
         std::max(kMinInitialCongestionWindow * kDefaultTCPMSS,
                  std::min(kMaxInitialCongestionWindow * kDefaultTCPMSS,
                           bandwidth * rtt_stats_->SmoothedOrInitialRtt()));
-    // Decreases cwnd gain and pacing gain. Please note, if pacing_rate_ has
-    // been calculated, it cannot decrease in STARTUP phase.
-    set_high_gain(kDerivedHighCWNDGain);
-    set_high_cwnd_gain(kDerivedHighCWNDGain);
     if (new_cwnd > congestion_window_) {
       QUIC_RELOADABLE_FLAG_COUNT_N(quic_fix_bbr_cwnd_in_bandwidth_resumption, 1,
                                    3);
@@ -375,6 +371,10 @@
       // Only decrease cwnd if allow_cwnd_to_decrease is true.
       return;
     }
+    // Decreases cwnd gain and pacing gain. Please note, if pacing_rate_ has
+    // been calculated, it cannot decrease in STARTUP phase.
+    set_high_gain(kDerivedHighCWNDGain);
+    set_high_cwnd_gain(kDerivedHighCWNDGain);
     congestion_window_ = new_cwnd;
   }
 }