[go: nahoru, domu]

[M123] Cherry Pick: Reland "[Nearby Share] Enable Quick Share branding on ToT"

This is a reland of commit 7f727f6e2ce58208cc3fdf74eaf6d4cda752a328

Revert was caused by failing tests that expected the old string
literal "Nearby Share".

Failing tests that caused the revert were fixed.
Tested: `./out/Default/browser_tests --gtest_filter=NearbyDiscoveryPageTest.All`
Tested: `./out/Default/browser_tests --gtest_filter=OSSettingsMochaTestRevampEnabled.OsSettingsMenuRevamp`
Tested: `./out/Default/browser_tests --gtest_filter=Share/FilesAppBrowserTest.Test/checkEncryptedSharesheetOptions`
Tested: `./out/Default/browser_tests --gtest_filter=SharesheetBubbleViewNearbyShareBrowserTest.ShowNearbyShareBubbleForArc`
Tested: Tested manually that Nearby Share completed as intended with Arc++ (Photos) apps

Original change's description:
> [Nearby Share] Enable Quick Share branding on ToT
>
> Enables Quick Share branding on ToT.
>
> Bug: b/311731010
> Change-Id: I4ded015e3d352ca37fd1fdb4c4577b5187cc1169
> Tested: Unit tests.
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5314884
> Reviewed-by: Jack Shira <jackshira@google.com>
> Commit-Queue: Daniel Classon <dclasson@google.com>
> Cr-Commit-Position: refs/heads/main@{#1263486}

(cherry picked from commit f8a699b9a5af9f2fac84dcffe309a992974f17f8)

Bug: b/326860852
Bug: b/311731010
Change-Id: Ia1680719f54a9ec758cdbf4f8c381e75b843b3dc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5318191
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Reviewed-by: Jeremie Boulic <jboulic@chromium.org>
Commit-Queue: Daniel Classon <dclasson@google.com>
Reviewed-by: Jack Shira <jackshira@google.com>
Cr-Original-Commit-Position: refs/heads/main@{#1265353}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5352911
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/branch-heads/6312@{#481}
Cr-Branched-From: 6711dcdae48edaf98cbc6964f90fac85b7d9986e-refs/heads/main@{#1262506}
diff --git a/chrome/browser/nearby_sharing/common/nearby_share_features.cc b/chrome/browser/nearby_sharing/common/nearby_share_features.cc
index 9db5a63..3459180 100644
--- a/chrome/browser/nearby_sharing/common/nearby_share_features.cc
+++ b/chrome/browser/nearby_sharing/common/nearby_share_features.cc
@@ -7,9 +7,8 @@
 
 namespace features {
 
-BASE_FEATURE(kIsNameEnabled,
-             "IsNameEnabled",
-             base::FEATURE_DISABLED_BY_DEFAULT);
+// Enables Quick Share branding.
+BASE_FEATURE(kIsNameEnabled, "IsNameEnabled", base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enables Nearby Sharing functionality.
 BASE_FEATURE(kNearbySharing, "NearbySharing", base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/chrome/browser/sharesheet/sharesheet_service.cc b/chrome/browser/sharesheet/sharesheet_service.cc
index 14c5d12..83df577 100644
--- a/chrome/browser/sharesheet/sharesheet_service.cc
+++ b/chrome/browser/sharesheet/sharesheet_service.cc
@@ -15,6 +15,8 @@
 #include "chrome/browser/apps/app_service/app_service_proxy.h"
 #include "chrome/browser/apps/app_service/app_service_proxy_factory.h"
 #include "chrome/browser/apps/app_service/launch_utils.h"
+#include "chrome/browser/nearby_sharing/common/nearby_share_features.h"
+#include "chrome/browser/nearby_sharing/common/nearby_share_resource_getter.h"
 #include "chrome/browser/sharesheet/share_action/share_action.h"
 #include "chrome/browser/sharesheet/sharesheet_service_delegator.h"
 #include "chrome/browser/sharesheet/sharesheet_types.h"
@@ -115,8 +117,13 @@
   DCHECK(intent);
   DCHECK(intent->IsShareIntent());
 
-  ShareAction* share_action = share_action_cache_->GetActionFromName(
-      l10n_util::GetStringUTF16(IDS_NEARBY_SHARE_FEATURE_NAME));
+  const std::u16string action_name =
+      features::IsNameEnabled()
+          ? NearbyShareResourceGetter::GetInstance()->GetStringWithFeatureName(
+                IDS_NEARBY_SHARE_FEATURE_NAME_PH)
+          : l10n_util::GetStringUTF16(IDS_NEARBY_SHARE_FEATURE_NAME);
+  ShareAction* share_action =
+      share_action_cache_->GetActionFromName(action_name);
   if (!share_action || !share_action->ShouldShowAction(
                            intent, false /*contains_google_document=*/)) {
     std::move(delivered_callback).Run(SharesheetResult::kCancel);
@@ -434,7 +441,12 @@
 void SharesheetService::RecordUserActionMetrics(
     const std::u16string& target_name) {
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-  if (target_name == l10n_util::GetStringUTF16(IDS_NEARBY_SHARE_FEATURE_NAME)) {
+  const std::u16string quick_share_name =
+      features::IsNameEnabled()
+          ? NearbyShareResourceGetter::GetInstance()->GetStringWithFeatureName(
+                IDS_NEARBY_SHARE_FEATURE_NAME_PH)
+          : l10n_util::GetStringUTF16(IDS_NEARBY_SHARE_FEATURE_NAME);
+  if (target_name == quick_share_name) {
     SharesheetMetrics::RecordSharesheetActionMetrics(
         SharesheetMetrics::UserAction::kNearbyAction);
   } else if (target_name ==
diff --git a/chrome/browser/ui/ash/sharesheet/sharesheet_bubble_view.cc b/chrome/browser/ui/ash/sharesheet/sharesheet_bubble_view.cc
index 552763e..b0b4ef7 100644
--- a/chrome/browser/ui/ash/sharesheet/sharesheet_bubble_view.cc
+++ b/chrome/browser/ui/ash/sharesheet/sharesheet_bubble_view.cc
@@ -20,6 +20,8 @@
 #include "base/time/time.h"
 #include "chrome/app/vector_icons/vector_icons.h"
 #include "chrome/browser/about_flags.h"
+#include "chrome/browser/nearby_sharing/common/nearby_share_features.h"
+#include "chrome/browser/nearby_sharing/common/nearby_share_resource_getter.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/sharesheet/sharesheet_metrics.h"
 #include "chrome/browser/sharesheet/sharesheet_service_delegator.h"
@@ -288,10 +290,14 @@
   // and use that instead for a more consistent UI experience.
   height_ = 1;
 
-  delegator_->OnTargetSelected(
-      l10n_util::GetStringUTF16(IDS_NEARBY_SHARE_FEATURE_NAME),
-      ::sharesheet::TargetType::kAction, std::move(intent_),
-      share_action_view_);
+  const std::u16string target_name =
+      features::IsNameEnabled()
+          ? NearbyShareResourceGetter::GetInstance()->GetStringWithFeatureName(
+                IDS_NEARBY_SHARE_FEATURE_NAME_PH)
+          : l10n_util::GetStringUTF16(IDS_NEARBY_SHARE_FEATURE_NAME);
+
+  delegator_->OnTargetSelected(target_name, ::sharesheet::TargetType::kAction,
+                               std::move(intent_), share_action_view_);
 }
 
 std::unique_ptr<views::View> SharesheetBubbleView::MakeScrollableTargetView(
diff --git a/chrome/test/data/webui/nearby_share/nearby_discovery_page_test.js b/chrome/test/data/webui/nearby_share/nearby_discovery_page_test.js
index f12d952..009a06b0 100644
--- a/chrome/test/data/webui/nearby_share/nearby_discovery_page_test.js
+++ b/chrome/test/data/webui/nearby_share/nearby_discovery_page_test.js
@@ -345,8 +345,8 @@
     await startDiscovery();
     flush();
 
-    const expectedMessage = 'To use Nearby Share, turn on Bluetooth' +
-        ' and Wi-Fi';
+    const expectedMessage = discoveryPageElement.i18n(
+        'nearbyShareErrorNoConnectionMediumDescription');
     assertEquals(
         expectedMessage,
         discoveryPageElement.shadowRoot.querySelector('#errorDescription')
diff --git a/chrome/test/data/webui/settings/chromeos/os_settings_menu/os_settings_menu_revamp_test.ts b/chrome/test/data/webui/settings/chromeos/os_settings_menu/os_settings_menu_revamp_test.ts
index 56eae29..14d388e 100644
--- a/chrome/test/data/webui/settings/chromeos/os_settings_menu/os_settings_menu_revamp_test.ts
+++ b/chrome/test/data/webui/settings/chromeos/os_settings_menu/os_settings_menu_revamp_test.ts
@@ -831,7 +831,9 @@
 
       setPageContentData(
           createFakePageContentData(MultiDeviceSettingsMode.NO_ELIGIBLE_HOSTS));
-      assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+      assertEquals(
+          settingsMenu.i18n('multideviceMenuItemDescription'),
+          multideviceMenuItem.sublabel);
     });
 
 
@@ -842,7 +844,9 @@
 
       setPageContentData(
           createFakePageContentData(MultiDeviceSettingsMode.NO_HOST_SET));
-      assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+      assertEquals(
+          settingsMenu.i18n('multideviceMenuItemDescription'),
+          multideviceMenuItem.sublabel);
     });
 
     test(
@@ -854,7 +858,9 @@
 
           setPageContentData(createFakePageContentData(
               MultiDeviceSettingsMode.HOST_SET_WAITING_FOR_SERVER));
-          assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+          assertEquals(
+              settingsMenu.i18n('multideviceMenuItemDescription'),
+              multideviceMenuItem.sublabel);
         });
 
     test(
@@ -866,7 +872,9 @@
 
           setPageContentData(createFakePageContentData(
               MultiDeviceSettingsMode.HOST_SET_WAITING_FOR_VERIFICATION));
-          assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+          assertEquals(
+              settingsMenu.i18n('multideviceMenuItemDescription'),
+              multideviceMenuItem.sublabel);
         });
 
     test(
@@ -906,28 +914,36 @@
           const multideviceMenuItem = getMultideviceMenuItem();
 
           // No eligible device found, show the default description "Phone Hub,
-          // Nearby Share".
+          // Quick Share".
           setPageContentData(createFakePageContentData(
               MultiDeviceSettingsMode.NO_ELIGIBLE_HOSTS));
-          assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+          assertEquals(
+              settingsMenu.i18n('multideviceMenuItemDescription'),
+              multideviceMenuItem.sublabel);
 
           // No device connected, show the default description "Phone Hub,
-          // Nearby Share".
+          // Quick Share".
           setPageContentData(
               createFakePageContentData(MultiDeviceSettingsMode.NO_HOST_SET));
-          assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+          assertEquals(
+              settingsMenu.i18n('multideviceMenuItemDescription'),
+              multideviceMenuItem.sublabel);
 
           // Device connection is waiting for server, show the default
-          // description "Phone Hub, Nearby Share".
+          // description "Phone Hub, Quick Share".
           setPageContentData(createFakePageContentData(
               MultiDeviceSettingsMode.HOST_SET_WAITING_FOR_SERVER));
-          assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+          assertEquals(
+              settingsMenu.i18n('multideviceMenuItemDescription'),
+              multideviceMenuItem.sublabel);
 
           // Device connection is waiting for verification, show the default
-          // description "Phone Hub, Nearby Share".
+          // description "Phone Hub, Quick Share".
           setPageContentData(createFakePageContentData(
               MultiDeviceSettingsMode.HOST_SET_WAITING_FOR_VERIFICATION));
-          assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+          assertEquals(
+              settingsMenu.i18n('multideviceMenuItemDescription'),
+              multideviceMenuItem.sublabel);
 
           // Device is connected, show the phone connected description
           // "Connected to <phone name>".
@@ -938,10 +954,12 @@
               `Connected to ${deviceName}`, multideviceMenuItem.sublabel);
 
           // Disconnect the Device, the description should be updated to the
-          // default "Phone Hub, Nearby Share".
+          // default "Phone Hub, Quick Share".
           setPageContentData(
               createFakePageContentData(MultiDeviceSettingsMode.NO_HOST_SET));
-          assertEquals('Phone Hub, Nearby Share', multideviceMenuItem.sublabel);
+          assertEquals(
+              settingsMenu.i18n('multideviceMenuItemDescription'),
+              multideviceMenuItem.sublabel);
         });
   });
 
diff --git a/ui/file_manager/integration_tests/file_manager/share.ts b/ui/file_manager/integration_tests/file_manager/share.ts
index 5527273..ae121fc 100644
--- a/ui/file_manager/integration_tests/file_manager/share.ts
+++ b/ui/file_manager/integration_tests/file_manager/share.ts
@@ -31,7 +31,8 @@
 
   for (const target of shareTargetsList) {
     chrome.test.assertTrue(
-        target === 'Share with others' || target === 'Nearby Share',
+        target === 'Share with others' || target === 'Quick Share' ||
+            target === 'Nearby Share',
         'unexpected share target: ' + target);
   }
 }