Change radio group id to 0 to match id assigned in constructor.

When the RadioButton is created the constructor sets the default group
id to 0. The id was then being changed to 1 which hits a DCHECK that
expects the id to not change.

This only happened when the DesktopPWAsTabStrip and
DesktopPWAsTabStripSettings flags were enabled.

Bug: 1275827
Change-Id: Icdfe25b94ad7a65468b95a841acaee5dd67e51bb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3312508
Reviewed-by: Alan Cutter <alancutter@chromium.org>
Commit-Queue: Louise Brett <loubrett@google.com>
Cr-Commit-Position: refs/heads/main@{#947386}
diff --git a/chrome/browser/ui/views/web_apps/web_app_confirmation_view.cc b/chrome/browser/ui/views/web_apps/web_app_confirmation_view.cc
index c8400fe..ced57e7 100644
--- a/chrome/browser/ui/views/web_apps/web_app_confirmation_view.cc
+++ b/chrome/browser/ui/views/web_apps/web_app_confirmation_view.cc
@@ -108,7 +108,7 @@
   const auto display_mode = web_app_info_->user_display_mode;
   // Build the content child views.
   if (ShowRadioButtons()) {
-    constexpr int kRadioGroupId = 1;
+    constexpr int kRadioGroupId = 0;
     builder.AddChildren(
         views::Builder<views::View>(),  // Skip the first column.
         views::Builder<views::RadioButton>()
diff --git a/chrome/browser/ui/views/web_apps/web_app_confirmation_view_browsertest.cc b/chrome/browser/ui/views/web_apps/web_app_confirmation_view_browsertest.cc
index 1475704..36800e9 100644
--- a/chrome/browser/ui/views/web_apps/web_app_confirmation_view_browsertest.cc
+++ b/chrome/browser/ui/views/web_apps/web_app_confirmation_view_browsertest.cc
@@ -4,14 +4,19 @@
 
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/bind.h"
+#include "base/test/scoped_feature_list.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_dialogs.h"
 #include "chrome/browser/ui/test/test_browser_dialog.h"
 #include "chrome/browser/web_applications/web_application_info.h"
+#include "chrome/common/chrome_features.h"
 #include "chrome/test/base/in_process_browser_test.h"
+#include "content/public/common/content_features.h"
 #include "content/public/test/browser_test.h"
 
-class WebAppConfirmViewBrowserTest : public DialogBrowserTest {
+class WebAppConfirmViewBrowserTest
+    : public DialogBrowserTest,
+      public ::testing::WithParamInterface<bool> {
  public:
   WebAppConfirmViewBrowserTest() = default;
   WebAppConfirmViewBrowserTest(const WebAppConfirmViewBrowserTest&) = delete;
@@ -30,9 +35,25 @@
         browser()->tab_strip_model()->GetActiveWebContents(),
         std::move(app_info), base::BindLambdaForTesting(callback));
   }
+
+  void SetUp() override {
+    if (GetParam()) {
+      feature_list.InitWithFeatures({features::kDesktopPWAsTabStrip,
+                                     features::kDesktopPWAsTabStripSettings},
+                                    {});
+    } else {
+      feature_list.InitWithFeatures({},
+                                    {features::kDesktopPWAsTabStrip,
+                                     features::kDesktopPWAsTabStripSettings});
+    }
+    DialogBrowserTest::SetUp();
+  }
+
+ private:
+  base::test::ScopedFeatureList feature_list;
 };
 
-IN_PROC_BROWSER_TEST_F(WebAppConfirmViewBrowserTest, ShowWebAppInstallDialog) {
+IN_PROC_BROWSER_TEST_P(WebAppConfirmViewBrowserTest, ShowWebAppInstallDialog) {
   auto app_info = std::make_unique<WebApplicationInfo>();
   app_info->title = u"Test app";
   app_info->start_url = GURL("https://example.com");
@@ -51,6 +72,10 @@
   EXPECT_TRUE(is_accepted);
 }
 
-IN_PROC_BROWSER_TEST_F(WebAppConfirmViewBrowserTest, InvokeUi_default) {
+IN_PROC_BROWSER_TEST_P(WebAppConfirmViewBrowserTest, InvokeUi_default) {
   ShowAndVerifyUi();
 }
+
+INSTANTIATE_TEST_SUITE_P(All,
+                         WebAppConfirmViewBrowserTest,
+                         ::testing::Values(false, true));