Commit b55d4da6 authored by Himanshu Jaju's avatar Himanshu Jaju Committed by Commit Bot

Remove SharingDeviceInfo

Reuse syncer::DeviceInfo instead of SharingDeviceInfo

Bug: 993780
Change-Id: I82ca01edc5dab5038394a862ff9e38c563fe8c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1755909Reviewed-by: default avatarRichard Knoll <knollr@chromium.org>
Commit-Queue: Himanshu Jaju <himanshujaju@chromium.org>
Cr-Commit-Position: refs/heads/master@{#687341}
parent 63944ed8
...@@ -1568,8 +1568,7 @@ jumbo_split_static_library("browser") { ...@@ -1568,8 +1568,7 @@ jumbo_split_static_library("browser") {
"sharing/shared_clipboard/shared_clipboard_message_handler_android.h", "sharing/shared_clipboard/shared_clipboard_message_handler_android.h",
"sharing/sharing_constants.cc", "sharing/sharing_constants.cc",
"sharing/sharing_constants.h", "sharing/sharing_constants.h",
"sharing/sharing_device_info.cc", "sharing/sharing_device_capability.h",
"sharing/sharing_device_info.h",
"sharing/sharing_device_registration.cc", "sharing/sharing_device_registration.cc",
"sharing/sharing_device_registration.h", "sharing/sharing_device_registration.h",
"sharing/sharing_device_registration_result.h", "sharing/sharing_device_registration_result.h",
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#include "chrome/browser/sharing/click_to_call/feature.h" #include "chrome/browser/sharing/click_to_call/feature.h"
#include "chrome/browser/sharing/features.h" #include "chrome/browser/sharing/features.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h" #include "chrome/browser/sharing/sharing_device_capability.h"
#include "chrome/browser/sharing/sharing_device_registration_result.h" #include "chrome/browser/sharing/sharing_device_registration_result.h"
#include "chrome/browser/sharing/sharing_service.h" #include "chrome/browser/sharing/sharing_service.h"
#include "chrome/browser/sharing/sharing_service_factory.h" #include "chrome/browser/sharing/sharing_service_factory.h"
...@@ -191,7 +191,7 @@ IN_PROC_BROWSER_TEST_F(ClickToCallBrowserTest, ...@@ -191,7 +191,7 @@ IN_PROC_BROWSER_TEST_F(ClickToCallBrowserTest,
menu->ExecuteCommand(IDC_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE, menu->ExecuteCommand(IDC_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE,
0); 0);
std::string fcm_token; std::string fcm_token;
GetDeviceFCMToken(devices[0].guid(), &fcm_token); GetDeviceFCMToken(devices[0]->guid(), &fcm_token);
CheckLastSharingMessageSent(fcm_token, GURL(kTelUrl)); CheckLastSharingMessageSent(fcm_token, GURL(kTelUrl));
} }
...@@ -248,7 +248,7 @@ IN_PROC_BROWSER_TEST_F(ClickToCallBrowserTest, ...@@ -248,7 +248,7 @@ IN_PROC_BROWSER_TEST_F(ClickToCallBrowserTest,
sub_menu_model->ActivatedAt(device_id); sub_menu_model->ActivatedAt(device_id);
std::string fcm_token; std::string fcm_token;
GetDeviceFCMToken(device.guid(), &fcm_token); GetDeviceFCMToken(device->guid(), &fcm_token);
CheckLastSharingMessageSent(fcm_token, GURL(kTelUrl)); CheckLastSharingMessageSent(fcm_token, GURL(kTelUrl));
device_id++; device_id++;
} }
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "chrome/browser/sharing/click_to_call/click_to_call_context_menu_observer.h" #include "chrome/browser/sharing/click_to_call/click_to_call_context_menu_observer.h"
#include "base/bind.h" #include "base/bind.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "chrome/app/chrome_command_ids.h" #include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/renderer_context_menu/render_view_context_menu.h" #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
...@@ -13,6 +14,7 @@ ...@@ -13,6 +14,7 @@
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_metrics.h" #include "chrome/browser/sharing/sharing_metrics.h"
#include "chrome/grit/generated_resources.h" #include "chrome/grit/generated_resources.h"
#include "components/sync_device_info/device_info.h"
#include "components/vector_icons/vector_icons.h" #include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/color_palette.h" #include "ui/gfx/color_palette.h"
...@@ -53,7 +55,8 @@ void ClickToCallContextMenuObserver::InitMenu( ...@@ -53,7 +55,8 @@ void ClickToCallContextMenuObserver::InitMenu(
const content::ContextMenuParams& params) { const content::ContextMenuParams& params) {
url_ = params.link_url; url_ = params.link_url;
controller_->UpdateDevices(); controller_->UpdateDevices();
const std::vector<SharingDeviceInfo>& devices = controller_->devices(); const std::vector<std::unique_ptr<syncer::DeviceInfo>>& devices =
controller_->devices();
LogClickToCallDevicesToShow(kSharingClickToCallUiContextMenu, devices.size()); LogClickToCallDevicesToShow(kSharingClickToCallUiContextMenu, devices.size());
if (devices.empty()) if (devices.empty())
return; return;
...@@ -65,13 +68,13 @@ void ClickToCallContextMenuObserver::InitMenu( ...@@ -65,13 +68,13 @@ void ClickToCallContextMenuObserver::InitMenu(
IDC_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE, IDC_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE,
l10n_util::GetStringFUTF16( l10n_util::GetStringFUTF16(
IDS_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE, IDS_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE,
devices[0].human_readable_name())); base::UTF8ToUTF16(devices[0]->client_name())));
#else #else
proxy_->AddMenuItemWithIcon( proxy_->AddMenuItemWithIcon(
IDC_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE, IDC_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE,
l10n_util::GetStringFUTF16( l10n_util::GetStringFUTF16(
IDS_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE, IDS_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE,
devices[0].human_readable_name()), base::UTF8ToUTF16(devices[0]->client_name())),
vector_icons::kCallIcon); vector_icons::kCallIcon);
#endif #endif
} else { } else {
...@@ -98,7 +101,8 @@ void ClickToCallContextMenuObserver::BuildSubMenu() { ...@@ -98,7 +101,8 @@ void ClickToCallContextMenuObserver::BuildSubMenu() {
for (const auto& device : controller_->devices()) { for (const auto& device : controller_->devices()) {
if (command_id > kSubMenuLastDeviceCommandId) if (command_id > kSubMenuLastDeviceCommandId)
break; break;
sub_menu_model_->AddItem(command_id++, device.human_readable_name()); sub_menu_model_->AddItem(command_id++,
base::UTF8ToUTF16(device->client_name()));
} }
} }
...@@ -130,12 +134,13 @@ void ClickToCallContextMenuObserver::ExecuteCommand(int command_id) { ...@@ -130,12 +134,13 @@ void ClickToCallContextMenuObserver::ExecuteCommand(int command_id) {
void ClickToCallContextMenuObserver::SendClickToCallMessage( void ClickToCallContextMenuObserver::SendClickToCallMessage(
int chosen_device_index) { int chosen_device_index) {
const std::vector<SharingDeviceInfo>& devices = controller_->devices(); const std::vector<std::unique_ptr<syncer::DeviceInfo>>& devices =
controller_->devices();
if (chosen_device_index >= static_cast<int>(devices.size())) if (chosen_device_index >= static_cast<int>(devices.size()))
return; return;
LogClickToCallSelectedDeviceIndex(kSharingClickToCallUiContextMenu, LogClickToCallSelectedDeviceIndex(kSharingClickToCallUiContextMenu,
chosen_device_index); chosen_device_index);
controller_->OnDeviceSelected(url_, devices[chosen_device_index]); controller_->OnDeviceSelected(url_, *devices[chosen_device_index]);
} }
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "base/gtest_prod_util.h" #include "base/gtest_prod_util.h"
#include "base/macros.h" #include "base/macros.h"
#include "base/optional.h" #include "base/optional.h"
#include "chrome/browser/sharing/sharing_device_info.h"
#include "components/renderer_context_menu/render_view_context_menu_observer.h" #include "components/renderer_context_menu/render_view_context_menu_observer.h"
#include "ui/base/models/simple_menu_model.h" #include "ui/base/models/simple_menu_model.h"
#include "url/gurl.h" #include "url/gurl.h"
......
...@@ -12,17 +12,18 @@ ...@@ -12,17 +12,18 @@
#include "base/strings/strcat.h" #include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "chrome/app/chrome_command_ids.h" #include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/renderer_context_menu/mock_render_view_context_menu.h" #include "chrome/browser/renderer_context_menu/mock_render_view_context_menu.h"
#include "chrome/browser/sharing/click_to_call/feature.h" #include "chrome/browser/sharing/click_to_call/feature.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h"
#include "chrome/browser/sharing/sharing_fcm_handler.h" #include "chrome/browser/sharing/sharing_fcm_handler.h"
#include "chrome/browser/sharing/sharing_fcm_sender.h" #include "chrome/browser/sharing/sharing_fcm_sender.h"
#include "chrome/browser/sharing/sharing_service.h" #include "chrome/browser/sharing/sharing_service.h"
#include "chrome/browser/sharing/sharing_service_factory.h" #include "chrome/browser/sharing/sharing_service_factory.h"
#include "chrome/browser/sharing/sharing_sync_preference.h" #include "chrome/browser/sharing/sharing_sync_preference.h"
#include "chrome/browser/sharing/vapid_key_manager.h" #include "chrome/browser/sharing/vapid_key_manager.h"
#include "components/sync_device_info/device_info.h"
#include "content/public/common/context_menu_params.h" #include "content/public/common/context_menu_params.h"
#include "content/public/test/test_browser_thread_bundle.h" #include "content/public/test/test_browser_thread_bundle.h"
#include "content/public/test/web_contents_tester.h" #include "content/public/test/web_contents_tester.h"
...@@ -60,7 +61,8 @@ class MockSharingService : public SharingService { ...@@ -60,7 +61,8 @@ class MockSharingService : public SharingService {
~MockSharingService() override = default; ~MockSharingService() override = default;
MOCK_CONST_METHOD1(GetDeviceCandidates, MOCK_CONST_METHOD1(GetDeviceCandidates,
std::vector<SharingDeviceInfo>(int required_capabilities)); std::vector<std::unique_ptr<syncer::DeviceInfo>>(
int required_capabilities));
MOCK_METHOD4(SendMessageToDevice, MOCK_METHOD4(SendMessageToDevice,
void(const std::string& device_guid, void(const std::string& device_guid,
...@@ -101,14 +103,16 @@ class ClickToCallContextMenuObserverTest : public testing::Test { ...@@ -101,14 +103,16 @@ class ClickToCallContextMenuObserverTest : public testing::Test {
url.GetContent()); url.GetContent());
} }
std::vector<SharingDeviceInfo> CreateMockDevices(int count) { std::vector<std::unique_ptr<syncer::DeviceInfo>> CreateMockDevices(
std::vector<SharingDeviceInfo> devices; int count) {
std::vector<std::unique_ptr<syncer::DeviceInfo>> devices;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
devices.emplace_back( devices.emplace_back(std::make_unique<syncer::DeviceInfo>(
base::StrCat({"guid", base::NumberToString(i)}), base::StrCat({"guid", base::NumberToString(i)}), "name",
base::UTF8ToUTF16(base::StrCat({"name", base::NumberToString(i)})), "chrome_version", "user_agent",
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), sync_pb::SyncEnums_DeviceType_TYPE_PHONE, "device_id",
static_cast<int>(SharingDeviceCapability::kTelephony)); /* last_updated_timestamp= */ base::Time::Now(),
/* send_tab_to_self_receiving_enabled= */ false));
} }
return devices; return devices;
} }
...@@ -150,7 +154,7 @@ TEST_F(ClickToCallContextMenuObserverTest, NoDevices_DoNotShowMenu) { ...@@ -150,7 +154,7 @@ TEST_F(ClickToCallContextMenuObserverTest, NoDevices_DoNotShowMenu) {
TEST_F(ClickToCallContextMenuObserverTest, SingleDevice_ShowMenu) { TEST_F(ClickToCallContextMenuObserverTest, SingleDevice_ShowMenu) {
auto devices = CreateMockDevices(1); auto devices = CreateMockDevices(1);
auto guid = devices[0].guid(); auto guid = devices[0]->guid();
EXPECT_CALL(*service(), GetDeviceCandidates(_)) EXPECT_CALL(*service(), GetDeviceCandidates(_))
.WillOnce(Return(ByMove(std::move(devices)))); .WillOnce(Return(ByMove(std::move(devices))));
...@@ -182,7 +186,7 @@ TEST_F(ClickToCallContextMenuObserverTest, MultipleDevices_ShowMenu) { ...@@ -182,7 +186,7 @@ TEST_F(ClickToCallContextMenuObserverTest, MultipleDevices_ShowMenu) {
auto devices = CreateMockDevices(device_count); auto devices = CreateMockDevices(device_count);
std::vector<std::string> guids; std::vector<std::string> guids;
for (auto& device : devices) for (auto& device : devices)
guids.push_back(device.guid()); guids.push_back(device->guid());
EXPECT_CALL(*service(), GetDeviceCandidates(_)) EXPECT_CALL(*service(), GetDeviceCandidates(_))
.WillOnce(Return(ByMove(std::move(devices)))); .WillOnce(Return(ByMove(std::move(devices))));
...@@ -227,7 +231,7 @@ TEST_F(ClickToCallContextMenuObserverTest, ...@@ -227,7 +231,7 @@ TEST_F(ClickToCallContextMenuObserverTest,
auto devices = CreateMockDevices(device_count); auto devices = CreateMockDevices(device_count);
std::vector<std::string> guids; std::vector<std::string> guids;
for (auto& device : devices) for (auto& device : devices)
guids.push_back(device.guid()); guids.push_back(device->guid());
EXPECT_CALL(*service(), GetDeviceCandidates(_)) EXPECT_CALL(*service(), GetDeviceCandidates(_))
.WillOnce(Return(ByMove(std::move(devices)))); .WillOnce(Return(ByMove(std::move(devices))));
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "base/callback.h" #include "base/callback.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/browser/external_protocol/external_protocol_handler.h" #include "chrome/browser/external_protocol/external_protocol_handler.h"
#include "chrome/browser/sharing/sharing_device_info.h" #include "chrome/browser/sharing/sharing_device_capability.h"
#include "chrome/browser/sharing/sharing_dialog.h" #include "chrome/browser/sharing/sharing_dialog.h"
#include "chrome/browser/shell_integration.h" #include "chrome/browser/shell_integration.h"
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
...@@ -52,7 +52,7 @@ ClickToCallUiController::~ClickToCallUiController() = default; ...@@ -52,7 +52,7 @@ ClickToCallUiController::~ClickToCallUiController() = default;
void ClickToCallUiController::OnDeviceSelected( void ClickToCallUiController::OnDeviceSelected(
const GURL& url, const GURL& url,
const SharingDeviceInfo& device) { const syncer::DeviceInfo& device) {
phone_url_ = url; phone_url_ = url;
OnDeviceChosen(device); OnDeviceChosen(device);
} }
...@@ -87,7 +87,7 @@ void ClickToCallUiController::DoUpdateApps(UpdateAppsCallback callback) { ...@@ -87,7 +87,7 @@ void ClickToCallUiController::DoUpdateApps(UpdateAppsCallback callback) {
std::move(callback).Run(std::move(apps)); std::move(callback).Run(std::move(apps));
} }
void ClickToCallUiController::OnDeviceChosen(const SharingDeviceInfo& device) { void ClickToCallUiController::OnDeviceChosen(const syncer::DeviceInfo& device) {
std::string phone_number_string(phone_url_.GetContent()); std::string phone_number_string(phone_url_.GetContent());
url::RawCanonOutputT<base::char16> unescaped_phone_number; url::RawCanonOutputT<base::char16> unescaped_phone_number;
url::DecodeURLEscapeSequences( url::DecodeURLEscapeSequences(
......
...@@ -20,8 +20,6 @@ namespace content { ...@@ -20,8 +20,6 @@ namespace content {
class WebContents; class WebContents;
} // namespace content } // namespace content
class SharingDeviceInfo;
class ClickToCallUiController class ClickToCallUiController
: public SharingUiController, : public SharingUiController,
public content::WebContentsUserData<ClickToCallUiController> { public content::WebContentsUserData<ClickToCallUiController> {
...@@ -34,13 +32,13 @@ class ClickToCallUiController ...@@ -34,13 +32,13 @@ class ClickToCallUiController
~ClickToCallUiController() override; ~ClickToCallUiController() override;
void OnDeviceSelected(const GURL& url, const SharingDeviceInfo& device); void OnDeviceSelected(const GURL& url, const syncer::DeviceInfo& device);
// Overridden from SharingUiController: // Overridden from SharingUiController:
base::string16 GetTitle() override; base::string16 GetTitle() override;
PageActionIconType GetIconType() override; PageActionIconType GetIconType() override;
int GetRequiredDeviceCapabilities() override; int GetRequiredDeviceCapabilities() override;
void OnDeviceChosen(const SharingDeviceInfo& device) override; void OnDeviceChosen(const syncer::DeviceInfo& device) override;
void OnAppChosen(const App& app) override; void OnAppChosen(const App& app) override;
// Called by the ClickToCallDialogView when the help text got clicked. // Called by the ClickToCallDialogView when the help text got clicked.
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/browser/sharing/fake_local_device_info_provider.h" #include "chrome/browser/sharing/fake_local_device_info_provider.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h" #include "chrome/browser/sharing/sharing_device_capability.h"
#include "chrome/browser/sharing/sharing_fcm_handler.h" #include "chrome/browser/sharing/sharing_fcm_handler.h"
#include "chrome/browser/sharing/sharing_fcm_sender.h" #include "chrome/browser/sharing/sharing_fcm_sender.h"
#include "chrome/browser/sharing/sharing_service.h" #include "chrome/browser/sharing/sharing_service.h"
...@@ -57,7 +57,8 @@ class MockSharingService : public SharingService { ...@@ -57,7 +57,8 @@ class MockSharingService : public SharingService {
~MockSharingService() override = default; ~MockSharingService() override = default;
MOCK_CONST_METHOD1(GetDeviceCandidates, MOCK_CONST_METHOD1(GetDeviceCandidates,
std::vector<SharingDeviceInfo>(int required_capabilities)); std::vector<std::unique_ptr<syncer::DeviceInfo>>(
int required_capabilities));
MOCK_METHOD4(SendMessageToDevice, MOCK_METHOD4(SendMessageToDevice,
void(const std::string& device_guid, void(const std::string& device_guid,
...@@ -107,16 +108,19 @@ MATCHER_P(ProtoEquals, message, "") { ...@@ -107,16 +108,19 @@ MATCHER_P(ProtoEquals, message, "") {
// Check the call to sharing service when a device is chosen. // Check the call to sharing service when a device is chosen.
TEST_F(ClickToCallUiControllerTest, OnDeviceChosen) { TEST_F(ClickToCallUiControllerTest, OnDeviceChosen) {
SharingDeviceInfo sharing_device_info( syncer::DeviceInfo device_info(
kReceiverGuid, base::UTF8ToUTF16(kReceiverName), kReceiverGuid, kReceiverName, "chrome_version", "user_agent",
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), 1); sync_pb::SyncEnums_DeviceType_TYPE_PHONE, "device_id",
/* last_updated_timestamp= */ base::Time::Now(),
/* send_tab_to_self_receiving_enabled= */ false);
chrome_browser_sharing::SharingMessage sharing_message; chrome_browser_sharing::SharingMessage sharing_message;
sharing_message.mutable_click_to_call_message()->set_phone_number( sharing_message.mutable_click_to_call_message()->set_phone_number(
kExpectedPhoneNumber); kExpectedPhoneNumber);
EXPECT_CALL(*service(), EXPECT_CALL(*service(),
SendMessageToDevice(Eq(kReceiverGuid), Eq(kSharingMessageTTL), SendMessageToDevice(Eq(kReceiverGuid), Eq(kSharingMessageTTL),
ProtoEquals(sharing_message), _)); ProtoEquals(sharing_message), _));
controller_->OnDeviceChosen(sharing_device_info); controller_->OnDeviceChosen(device_info);
} }
// Check the call to sharing service to get all synced devices. // Check the call to sharing service to get all synced devices.
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_metrics.h" #include "chrome/browser/sharing/sharing_metrics.h"
#include "chrome/grit/generated_resources.h" #include "chrome/grit/generated_resources.h"
#include "components/sync_device_info/device_info.h"
#include "components/vector_icons/vector_icons.h" #include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
...@@ -59,7 +60,8 @@ void SharedClipboardContextMenuObserver::InitMenu( ...@@ -59,7 +60,8 @@ void SharedClipboardContextMenuObserver::InitMenu(
const content::ContextMenuParams& params) { const content::ContextMenuParams& params) {
text_ = params.selection_text; text_ = params.selection_text;
controller_->UpdateDevices(); controller_->UpdateDevices();
const std::vector<SharingDeviceInfo>& devices = controller_->devices(); const std::vector<std::unique_ptr<syncer::DeviceInfo>>& devices =
controller_->devices();
// TODO(yasmo): add logging // TODO(yasmo): add logging
if (devices.empty()) if (devices.empty())
...@@ -72,13 +74,13 @@ void SharedClipboardContextMenuObserver::InitMenu( ...@@ -72,13 +74,13 @@ void SharedClipboardContextMenuObserver::InitMenu(
IDC_CONTENT_CONTEXT_SHARING_SHARED_CLIPBOARD_SINGLE_DEVICE, IDC_CONTENT_CONTEXT_SHARING_SHARED_CLIPBOARD_SINGLE_DEVICE,
l10n_util::GetStringFUTF16( l10n_util::GetStringFUTF16(
IDS_CONTEXT_MENU_SEND_TAB_TO_SELF_SINGLE_TARGET, IDS_CONTEXT_MENU_SEND_TAB_TO_SELF_SINGLE_TARGET,
devices[0].human_readable_name())); base::UTF8ToUTF16(devices[0]->client_name())));
#else #else
proxy_->AddMenuItemWithIcon( proxy_->AddMenuItemWithIcon(
IDC_CONTENT_CONTEXT_SHARING_SHARED_CLIPBOARD_SINGLE_DEVICE, IDC_CONTENT_CONTEXT_SHARING_SHARED_CLIPBOARD_SINGLE_DEVICE,
l10n_util::GetStringFUTF16( l10n_util::GetStringFUTF16(
IDS_CONTEXT_MENU_SEND_TAB_TO_SELF_SINGLE_TARGET, IDS_CONTEXT_MENU_SEND_TAB_TO_SELF_SINGLE_TARGET,
devices[0].human_readable_name()), base::UTF8ToUTF16(devices[0]->client_name())),
GetContextMenuIcon()); GetContextMenuIcon());
#endif #endif
} else { } else {
...@@ -104,7 +106,8 @@ void SharedClipboardContextMenuObserver::BuildSubMenu() { ...@@ -104,7 +106,8 @@ void SharedClipboardContextMenuObserver::BuildSubMenu() {
for (const auto& device : controller_->devices()) { for (const auto& device : controller_->devices()) {
if (command_id > kSubMenuLastDeviceCommandId) if (command_id > kSubMenuLastDeviceCommandId)
break; break;
sub_menu_model_->AddItem(command_id++, device.human_readable_name()); sub_menu_model_->AddItem(command_id++,
base::UTF8ToUTF16(device->client_name()));
} }
} }
...@@ -137,13 +140,14 @@ void SharedClipboardContextMenuObserver::ExecuteCommand(int command_id) { ...@@ -137,13 +140,14 @@ void SharedClipboardContextMenuObserver::ExecuteCommand(int command_id) {
void SharedClipboardContextMenuObserver::SendSharedClipboardMessage( void SharedClipboardContextMenuObserver::SendSharedClipboardMessage(
int chosen_device_index) { int chosen_device_index) {
const std::vector<SharingDeviceInfo>& devices = controller_->devices(); const std::vector<std::unique_ptr<syncer::DeviceInfo>>& devices =
controller_->devices();
if (chosen_device_index >= static_cast<int>(devices.size())) if (chosen_device_index >= static_cast<int>(devices.size()))
return; return;
// TODO(yasmo): Add logging // TODO(yasmo): Add logging
controller_->OnDeviceSelected(text_, devices[chosen_device_index]); controller_->OnDeviceSelected(text_, *devices[chosen_device_index]);
} }
gfx::ImageSkia SharedClipboardContextMenuObserver::GetContextMenuIcon() const { gfx::ImageSkia SharedClipboardContextMenuObserver::GetContextMenuIcon() const {
......
...@@ -12,13 +12,12 @@ ...@@ -12,13 +12,12 @@
#include "base/gtest_prod_util.h" #include "base/gtest_prod_util.h"
#include "base/macros.h" #include "base/macros.h"
#include "base/optional.h" #include "base/optional.h"
#include "chrome/browser/sharing/sharing_device_info.h"
#include "components/renderer_context_menu/render_view_context_menu_observer.h" #include "components/renderer_context_menu/render_view_context_menu_observer.h"
#include "ui/base/models/simple_menu_model.h" #include "ui/base/models/simple_menu_model.h"
namespace gfx { namespace gfx {
class ImageSkia; class ImageSkia;
} } // namespace gfx
class RenderViewContextMenuProxy; class RenderViewContextMenuProxy;
class SharedClipboardUiController; class SharedClipboardUiController;
......
...@@ -16,13 +16,13 @@ ...@@ -16,13 +16,13 @@
#include "chrome/browser/renderer_context_menu/mock_render_view_context_menu.h" #include "chrome/browser/renderer_context_menu/mock_render_view_context_menu.h"
#include "chrome/browser/sharing/shared_clipboard/feature_flags.h" #include "chrome/browser/sharing/shared_clipboard/feature_flags.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h"
#include "chrome/browser/sharing/sharing_fcm_handler.h" #include "chrome/browser/sharing/sharing_fcm_handler.h"
#include "chrome/browser/sharing/sharing_fcm_sender.h" #include "chrome/browser/sharing/sharing_fcm_sender.h"
#include "chrome/browser/sharing/sharing_service.h" #include "chrome/browser/sharing/sharing_service.h"
#include "chrome/browser/sharing/sharing_service_factory.h" #include "chrome/browser/sharing/sharing_service_factory.h"
#include "chrome/browser/sharing/sharing_sync_preference.h" #include "chrome/browser/sharing/sharing_sync_preference.h"
#include "chrome/browser/sharing/vapid_key_manager.h" #include "chrome/browser/sharing/vapid_key_manager.h"
#include "components/sync_device_info/device_info.h"
#include "content/public/common/context_menu_params.h" #include "content/public/common/context_menu_params.h"
#include "content/public/test/test_browser_thread_bundle.h" #include "content/public/test/test_browser_thread_bundle.h"
#include "content/public/test/web_contents_tester.h" #include "content/public/test/web_contents_tester.h"
...@@ -59,7 +59,8 @@ class MockSharingService : public SharingService { ...@@ -59,7 +59,8 @@ class MockSharingService : public SharingService {
~MockSharingService() override = default; ~MockSharingService() override = default;
MOCK_CONST_METHOD1(GetDeviceCandidates, MOCK_CONST_METHOD1(GetDeviceCandidates,
std::vector<SharingDeviceInfo>(int required_capabilities)); std::vector<std::unique_ptr<syncer::DeviceInfo>>(
int required_capabilities));
MOCK_METHOD4(SendMessageToDevice, MOCK_METHOD4(SendMessageToDevice,
void(const std::string& device_guid, void(const std::string& device_guid,
...@@ -100,14 +101,16 @@ class SharedClipboardContextMenuObserverTest : public testing::Test { ...@@ -100,14 +101,16 @@ class SharedClipboardContextMenuObserverTest : public testing::Test {
base::UTF16ToUTF8(text)); base::UTF16ToUTF8(text));
} }
std::vector<SharingDeviceInfo> CreateMockDevices(int count) { std::vector<std::unique_ptr<syncer::DeviceInfo>> CreateMockDevices(
std::vector<SharingDeviceInfo> devices; int count) {
std::vector<std::unique_ptr<syncer::DeviceInfo>> devices;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
devices.emplace_back( devices.emplace_back(std::make_unique<syncer::DeviceInfo>(
base::StrCat({"guid", base::NumberToString(i)}), base::StrCat({"guid", base::NumberToString(i)}), "name",
base::UTF8ToUTF16(base::StrCat({"name", base::NumberToString(i)})), "chrome_version", "user_agent",
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), sync_pb::SyncEnums_DeviceType_TYPE_PHONE, "device_id",
static_cast<int>(SharingDeviceCapability::kNone)); /* last_updated_timestamp= */ base::Time::Now(),
/* send_tab_to_self_receiving_enabled= */ false));
} }
return devices; return devices;
} }
...@@ -149,7 +152,7 @@ TEST_F(SharedClipboardContextMenuObserverTest, NoDevices_DoNotShowMenu) { ...@@ -149,7 +152,7 @@ TEST_F(SharedClipboardContextMenuObserverTest, NoDevices_DoNotShowMenu) {
TEST_F(SharedClipboardContextMenuObserverTest, SingleDevice_ShowMenu) { TEST_F(SharedClipboardContextMenuObserverTest, SingleDevice_ShowMenu) {
auto devices = CreateMockDevices(1); auto devices = CreateMockDevices(1);
auto guid = devices[0].guid(); auto guid = devices[0]->guid();
EXPECT_CALL(*service(), GetDeviceCandidates(_)) EXPECT_CALL(*service(), GetDeviceCandidates(_))
.WillOnce(Return(ByMove(std::move(devices)))); .WillOnce(Return(ByMove(std::move(devices))));
...@@ -181,7 +184,7 @@ TEST_F(SharedClipboardContextMenuObserverTest, MultipleDevices_ShowMenu) { ...@@ -181,7 +184,7 @@ TEST_F(SharedClipboardContextMenuObserverTest, MultipleDevices_ShowMenu) {
auto devices = CreateMockDevices(device_count); auto devices = CreateMockDevices(device_count);
std::vector<std::string> guids; std::vector<std::string> guids;
for (auto& device : devices) for (auto& device : devices)
guids.push_back(device.guid()); guids.push_back(device->guid());
EXPECT_CALL(*service(), GetDeviceCandidates(_)) EXPECT_CALL(*service(), GetDeviceCandidates(_))
.WillOnce(Return(ByMove(std::move(devices)))); .WillOnce(Return(ByMove(std::move(devices))));
...@@ -226,7 +229,7 @@ TEST_F(SharedClipboardContextMenuObserverTest, ...@@ -226,7 +229,7 @@ TEST_F(SharedClipboardContextMenuObserverTest,
auto devices = CreateMockDevices(device_count); auto devices = CreateMockDevices(device_count);
std::vector<std::string> guids; std::vector<std::string> guids;
for (auto& device : devices) for (auto& device : devices)
guids.push_back(device.guid()); guids.push_back(device->guid());
EXPECT_CALL(*service(), GetDeviceCandidates(_)) EXPECT_CALL(*service(), GetDeviceCandidates(_))
.WillOnce(Return(ByMove(std::move(devices)))); .WillOnce(Return(ByMove(std::move(devices))));
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include "base/callback.h" #include "base/callback.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/browser/sharing/sharing_device_info.h" #include "chrome/browser/sharing/sharing_device_capability.h"
#include "chrome/browser/sharing/sharing_dialog.h" #include "chrome/browser/sharing/sharing_dialog.h"
#include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/browser_window.h"
#include "components/sync_device_info/device_info.h" #include "components/sync_device_info/device_info.h"
...@@ -34,7 +34,7 @@ SharedClipboardUiController::~SharedClipboardUiController() = default; ...@@ -34,7 +34,7 @@ SharedClipboardUiController::~SharedClipboardUiController() = default;
void SharedClipboardUiController::OnDeviceSelected( void SharedClipboardUiController::OnDeviceSelected(
const base::string16& text, const base::string16& text,
const SharingDeviceInfo& device) { const syncer::DeviceInfo& device) {
text_ = text; text_ = text;
OnDeviceChosen(device); OnDeviceChosen(device);
} }
...@@ -64,7 +64,7 @@ SharingDialog* SharedClipboardUiController::DoShowDialog( ...@@ -64,7 +64,7 @@ SharingDialog* SharedClipboardUiController::DoShowDialog(
} }
void SharedClipboardUiController::OnDeviceChosen( void SharedClipboardUiController::OnDeviceChosen(
const SharingDeviceInfo& device) { const syncer::DeviceInfo& device) {
chrome_browser_sharing::SharingMessage sharing_message; chrome_browser_sharing::SharingMessage sharing_message;
sharing_message.mutable_shared_clipboard_message()->set_text( sharing_message.mutable_shared_clipboard_message()->set_text(
base::UTF16ToUTF8(text_)); base::UTF16ToUTF8(text_));
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#ifndef CHROME_BROWSER_SHARING_SHARED_CLIPBOARD_SHARED_CLIPBOARD_UI_CONTROLLER_H_ #ifndef CHROME_BROWSER_SHARING_SHARED_CLIPBOARD_SHARED_CLIPBOARD_UI_CONTROLLER_H_
#define CHROME_BROWSER_SHARING_SHARED_CLIPBOARD_SHARED_CLIPBOARD_UI_CONTROLLER_H_ #define CHROME_BROWSER_SHARING_SHARED_CLIPBOARD_SHARED_CLIPBOARD_UI_CONTROLLER_H_
#include <memory>
#include <string> #include <string>
#include <vector> #include <vector>
...@@ -18,8 +19,6 @@ namespace content { ...@@ -18,8 +19,6 @@ namespace content {
class WebContents; class WebContents;
} // namespace content } // namespace content
class SharingDeviceInfo;
class SharedClipboardUiController class SharedClipboardUiController
: public SharingUiController, : public SharingUiController,
public content::WebContentsUserData<SharedClipboardUiController> { public content::WebContentsUserData<SharedClipboardUiController> {
...@@ -30,13 +29,13 @@ class SharedClipboardUiController ...@@ -30,13 +29,13 @@ class SharedClipboardUiController
~SharedClipboardUiController() override; ~SharedClipboardUiController() override;
void OnDeviceSelected(const base::string16& text, void OnDeviceSelected(const base::string16& text,
const SharingDeviceInfo& device); const syncer::DeviceInfo& device);
// Overridden from SharingUiController: // Overridden from SharingUiController:
base::string16 GetTitle() override; base::string16 GetTitle() override;
PageActionIconType GetIconType() override; PageActionIconType GetIconType() override;
int GetRequiredDeviceCapabilities() override; int GetRequiredDeviceCapabilities() override;
void OnDeviceChosen(const SharingDeviceInfo& device) override; void OnDeviceChosen(const syncer::DeviceInfo& device) override;
void OnAppChosen(const App& app) override; void OnAppChosen(const App& app) override;
// Called by the SharedClipboardDialogView when the help text got clicked. // Called by the SharedClipboardDialogView when the help text got clicked.
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/browser/sharing/fake_local_device_info_provider.h" #include "chrome/browser/sharing/fake_local_device_info_provider.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h" #include "chrome/browser/sharing/sharing_device_capability.h"
#include "chrome/browser/sharing/sharing_fcm_handler.h" #include "chrome/browser/sharing/sharing_fcm_handler.h"
#include "chrome/browser/sharing/sharing_fcm_sender.h" #include "chrome/browser/sharing/sharing_fcm_sender.h"
#include "chrome/browser/sharing/sharing_service.h" #include "chrome/browser/sharing/sharing_service.h"
...@@ -57,7 +57,8 @@ class MockSharingService : public SharingService { ...@@ -57,7 +57,8 @@ class MockSharingService : public SharingService {
~MockSharingService() override = default; ~MockSharingService() override = default;
MOCK_CONST_METHOD1(GetDeviceCandidates, MOCK_CONST_METHOD1(GetDeviceCandidates,
std::vector<SharingDeviceInfo>(int required_capabilities)); std::vector<std::unique_ptr<syncer::DeviceInfo>>(
int required_capabilities));
MOCK_METHOD4(SendMessageToDevice, MOCK_METHOD4(SendMessageToDevice,
void(const std::string& device_guid, void(const std::string& device_guid,
...@@ -79,13 +80,14 @@ class SharedClipboardUiControllerTest : public testing::Test { ...@@ -79,13 +80,14 @@ class SharedClipboardUiControllerTest : public testing::Test {
return std::make_unique<NiceMock<MockSharingService>>( return std::make_unique<NiceMock<MockSharingService>>(
std::make_unique<SharingFCMHandler>(nullptr, nullptr)); std::make_unique<SharingFCMHandler>(nullptr, nullptr));
})); }));
SharingDeviceInfo sharing_device_info( syncer::DeviceInfo device_info(
kReceiverGuid, base::UTF8ToUTF16(kReceiverName), kReceiverGuid, kReceiverName, "chrome_version", "user_agent",
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), 1); sync_pb::SyncEnums_DeviceType_TYPE_PHONE, "device_id",
/* last_updated_timestamp= */ base::Time::Now(),
/* send_tab_to_self_receiving_enabled= */ false);
controller_ = SharedClipboardUiController::GetOrCreateFromWebContents( controller_ = SharedClipboardUiController::GetOrCreateFromWebContents(
web_contents_.get()); web_contents_.get());
controller_->OnDeviceSelected(base::UTF8ToUTF16(kText), controller_->OnDeviceSelected(base::UTF8ToUTF16(kText), device_info);
sharing_device_info);
} }
protected: protected:
...@@ -110,15 +112,18 @@ MATCHER_P(ProtoEquals, message, "") { ...@@ -110,15 +112,18 @@ MATCHER_P(ProtoEquals, message, "") {
// Check the call to sharing service when a device is chosen. // Check the call to sharing service when a device is chosen.
TEST_F(SharedClipboardUiControllerTest, OnDeviceChosen) { TEST_F(SharedClipboardUiControllerTest, OnDeviceChosen) {
SharingDeviceInfo sharing_device_info( syncer::DeviceInfo device_info(
kReceiverGuid, base::UTF8ToUTF16(kReceiverName), kReceiverGuid, kReceiverName, "chrome_version", "user_agent",
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), 1); sync_pb::SyncEnums_DeviceType_TYPE_PHONE, "device_id",
/* last_updated_timestamp= */ base::Time::Now(),
/* send_tab_to_self_receiving_enabled= */ false);
chrome_browser_sharing::SharingMessage sharing_message; chrome_browser_sharing::SharingMessage sharing_message;
sharing_message.mutable_shared_clipboard_message()->set_text(kExpectedText); sharing_message.mutable_shared_clipboard_message()->set_text(kExpectedText);
EXPECT_CALL(*service(), EXPECT_CALL(*service(),
SendMessageToDevice(Eq(kReceiverGuid), Eq(kSharingMessageTTL), SendMessageToDevice(Eq(kReceiverGuid), Eq(kSharingMessageTTL),
ProtoEquals(sharing_message), _)); ProtoEquals(sharing_message), _));
controller_->OnDeviceChosen(sharing_device_info); controller_->OnDeviceChosen(device_info);
} }
// Check the call to sharing service to get all synced devices. // Check the call to sharing service to get all synced devices.
......
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_SHARING_SHARING_DEVICE_CAPABILITY_H_
#define CHROME_BROWSER_SHARING_SHARING_DEVICE_CAPABILITY_H_
// Capabilities which a device can perform. These are stored in sync preferences
// when the device is registered, and the values should never be changed. When
// adding a new capability, the value should be '1 << (NEXT_FREE_BIT_ID)' and
// NEXT_FREE_BIT_ID should be incremented by one.
// NEXT_FREE_BIT_ID: 2
enum class SharingDeviceCapability {
kNone = 0,
kTelephony = 1 << 0,
kSharedClipboard = 1 << 1
};
#endif // CHROME_BROWSER_SHARING_SHARING_DEVICE_CAPABILITY_H_
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/sharing/sharing_device_info.h"
SharingDeviceInfo::SharingDeviceInfo(const std::string& guid,
const base::string16& human_readable_name,
sync_pb::SyncEnums::DeviceType device_type,
base::Time last_online_timestamp,
int capabilities)
: guid_(guid),
human_readable_name_(human_readable_name),
device_type_(device_type),
last_online_timestamp_(last_online_timestamp),
capabilities_(capabilities) {}
SharingDeviceInfo::~SharingDeviceInfo() = default;
SharingDeviceInfo::SharingDeviceInfo(SharingDeviceInfo&& other) = default;
const std::string& SharingDeviceInfo::guid() const {
return guid_;
}
const base::string16& SharingDeviceInfo::human_readable_name() const {
return human_readable_name_;
}
sync_pb::SyncEnums::DeviceType SharingDeviceInfo::device_type() const {
return device_type_;
}
base::Time SharingDeviceInfo::last_online_timestamp() const {
return last_online_timestamp_;
}
int SharingDeviceInfo::capabilities() const {
return capabilities_;
}
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_SHARING_SHARING_DEVICE_INFO_H_
#define CHROME_BROWSER_SHARING_SHARING_DEVICE_INFO_H_
#include <string>
#include "base/macros.h"
#include "base/time/time.h"
#include "components/sync/protocol/sync.pb.h"
// Capabilities which a device can perform. These are stored in sync preferences
// when the device is registered, and the values should never be changed. When
// adding a new capability, the value should be '1 << (NEXT_FREE_BIT_ID)' and
// NEXT_FREE_BIT_ID should be incremented by one.
// NEXT_FREE_BIT_ID: 2
enum class SharingDeviceCapability {
kNone = 0,
kTelephony = 1 << 0,
kSharedClipboard = 1 << 1
};
// A class that holds information regarding the properties of a device.
class SharingDeviceInfo {
public:
SharingDeviceInfo(const std::string& guid,
const base::string16& human_readable_name,
sync_pb::SyncEnums::DeviceType device_type,
base::Time last_online_timestamp,
int capabilities);
~SharingDeviceInfo();
SharingDeviceInfo(SharingDeviceInfo&& other);
// Unique identifier for the device.
const std::string& guid() const;
// A human readable name of the device.
const base::string16& human_readable_name() const;
// Type of the device whether it is a phone, tablet or desktop.
sync_pb::SyncEnums::DeviceType device_type() const;
// Returns the time at which this device was last online.
base::Time last_online_timestamp() const;
// Gets a bitmask of available capabilities of the device, defined in
// SharingDeviceCapability enum.
int capabilities() const;
private:
const std::string guid_;
const base::string16 human_readable_name_;
const sync_pb::SyncEnums::DeviceType device_type_;
const base::Time last_online_timestamp_;
int capabilities_;
DISALLOW_COPY_AND_ASSIGN(SharingDeviceInfo);
};
#endif // CHROME_BROWSER_SHARING_SHARING_DEVICE_INFO_H_
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
#include "chrome/browser/sharing/click_to_call/feature.h" #include "chrome/browser/sharing/click_to_call/feature.h"
#include "chrome/browser/sharing/shared_clipboard/feature_flags.h" #include "chrome/browser/sharing/shared_clipboard/feature_flags.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h" #include "chrome/browser/sharing/sharing_device_capability.h"
#include "chrome/browser/sharing/sharing_device_registration_result.h" #include "chrome/browser/sharing/sharing_device_registration_result.h"
#include "chrome/browser/sharing/sharing_sync_preference.h" #include "chrome/browser/sharing/sharing_sync_preference.h"
#include "chrome/browser/sharing/vapid_key_manager.h" #include "chrome/browser/sharing/vapid_key_manager.h"
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#include "base/test/scoped_task_environment.h" #include "base/test/scoped_task_environment.h"
#include "chrome/browser/sharing/fake_local_device_info_provider.h" #include "chrome/browser/sharing/fake_local_device_info_provider.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h"
#include "chrome/browser/sharing/sharing_device_registration_result.h" #include "chrome/browser/sharing/sharing_device_registration_result.h"
#include "chrome/browser/sharing/sharing_sync_preference.h" #include "chrome/browser/sharing/sharing_sync_preference.h"
#include "chrome/browser/sharing/vapid_key_manager.h" #include "chrome/browser/sharing/vapid_key_manager.h"
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "base/callback_list.h" #include "base/callback_list.h"
#include "base/guid.h" #include "base/guid.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h" #include "chrome/browser/sharing/sharing_device_capability.h"
#include "chrome/browser/sharing/sharing_sync_preference.h" #include "chrome/browser/sharing/sharing_sync_preference.h"
#include "chrome/browser/sharing/vapid_key_manager.h" #include "chrome/browser/sharing/vapid_key_manager.h"
#include "components/gcm_driver/fake_gcm_driver.h" #include "components/gcm_driver/fake_gcm_driver.h"
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
#include "chrome/browser/sharing/features.h" #include "chrome/browser/sharing/features.h"
#include "chrome/browser/sharing/shared_clipboard/feature_flags.h" #include "chrome/browser/sharing/shared_clipboard/feature_flags.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h"
#include "chrome/browser/sharing/sharing_device_registration.h" #include "chrome/browser/sharing/sharing_device_registration.h"
#include "chrome/browser/sharing/sharing_device_registration_result.h" #include "chrome/browser/sharing/sharing_device_registration_result.h"
#include "chrome/browser/sharing/sharing_fcm_handler.h" #include "chrome/browser/sharing/sharing_fcm_handler.h"
...@@ -121,10 +120,11 @@ std::unique_ptr<syncer::DeviceInfo> SharingService::GetDeviceByGuid( ...@@ -121,10 +120,11 @@ std::unique_ptr<syncer::DeviceInfo> SharingService::GetDeviceByGuid(
return device_info_tracker_->GetDeviceInfo(guid); return device_info_tracker_->GetDeviceInfo(guid);
} }
std::vector<SharingDeviceInfo> SharingService::GetDeviceCandidates( std::vector<std::unique_ptr<syncer::DeviceInfo>>
int required_capabilities) const { SharingService::GetDeviceCandidates(int required_capabilities) const {
std::vector<std::unique_ptr<syncer::DeviceInfo>> device_candidates;
if (!IsSyncEnabled()) if (!IsSyncEnabled())
return std::vector<SharingDeviceInfo>(); return device_candidates;
std::vector<std::unique_ptr<syncer::DeviceInfo>> all_devices = std::vector<std::unique_ptr<syncer::DeviceInfo>> all_devices =
device_info_tracker_->GetAllDeviceInfo(); device_info_tracker_->GetAllDeviceInfo();
...@@ -141,10 +141,9 @@ std::vector<SharingDeviceInfo> SharingService::GetDeviceCandidates( ...@@ -141,10 +141,9 @@ std::vector<SharingDeviceInfo> SharingService::GetDeviceCandidates(
}); });
std::unordered_set<std::string> device_names; std::unordered_set<std::string> device_names;
std::vector<SharingDeviceInfo> device_candidates;
const syncer::DeviceInfo* local_device_info = const syncer::DeviceInfo* local_device_info =
local_device_info_provider_->GetLocalDeviceInfo(); local_device_info_provider_->GetLocalDeviceInfo();
for (const auto& device : all_devices) { for (auto& device : all_devices) {
// If the current device is considered expired for our purposes, stop here // If the current device is considered expired for our purposes, stop here
// since the next devices in the vector are at least as expired than this // since the next devices in the vector are at least as expired than this
// one. // one.
...@@ -166,12 +165,8 @@ std::vector<SharingDeviceInfo> SharingService::GetDeviceCandidates( ...@@ -166,12 +165,8 @@ std::vector<SharingDeviceInfo> SharingService::GetDeviceCandidates(
// Only insert the first occurrence of each device name. // Only insert the first occurrence of each device name.
auto inserted = device_names.insert(device->client_name()); auto inserted = device_names.insert(device->client_name());
if (inserted.second) { if (inserted.second)
device_candidates.emplace_back( device_candidates.push_back(std::move(device));
device->guid(), base::UTF8ToUTF16(device->client_name()),
device->device_type(), device->last_updated_timestamp(),
device_capabilities);
}
} }
// TODO(knollr): Remove devices from |sync_prefs_| that are in // TODO(knollr): Remove devices from |sync_prefs_| that are in
......
...@@ -38,7 +38,6 @@ class LocalDeviceInfoProvider; ...@@ -38,7 +38,6 @@ class LocalDeviceInfoProvider;
class SyncService; class SyncService;
} // namespace syncer } // namespace syncer
class SharingDeviceInfo;
class SharingFCMHandler; class SharingFCMHandler;
class SharingFCMSender; class SharingFCMSender;
class SharingMessageHandler; class SharingMessageHandler;
...@@ -84,7 +83,7 @@ class SharingService : public KeyedService, ...@@ -84,7 +83,7 @@ class SharingService : public KeyedService,
// Returns a list of DeviceInfo that is available to receive messages. // Returns a list of DeviceInfo that is available to receive messages.
// All returned devices has the specified |required_capabilities| defined in // All returned devices has the specified |required_capabilities| defined in
// SharingDeviceCapability enum. // SharingDeviceCapability enum.
virtual std::vector<SharingDeviceInfo> GetDeviceCandidates( virtual std::vector<std::unique_ptr<syncer::DeviceInfo>> GetDeviceCandidates(
int required_capabilities) const; int required_capabilities) const;
// Sends a message to the device specified by GUID. // Sends a message to the device specified by GUID.
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#include "chrome/browser/sharing/features.h" #include "chrome/browser/sharing/features.h"
#include "chrome/browser/sharing/proto/sharing_message.pb.h" #include "chrome/browser/sharing/proto/sharing_message.pb.h"
#include "chrome/browser/sharing/sharing_constants.h" #include "chrome/browser/sharing/sharing_constants.h"
#include "chrome/browser/sharing/sharing_device_info.h" #include "chrome/browser/sharing/sharing_device_capability.h"
#include "chrome/browser/sharing/sharing_device_registration.h" #include "chrome/browser/sharing/sharing_device_registration.h"
#include "chrome/browser/sharing/sharing_device_registration_result.h" #include "chrome/browser/sharing/sharing_device_registration_result.h"
#include "chrome/browser/sharing/sharing_fcm_handler.h" #include "chrome/browser/sharing/sharing_fcm_handler.h"
...@@ -240,7 +240,7 @@ class SharingServiceTest : public testing::Test { ...@@ -240,7 +240,7 @@ class SharingServiceTest : public testing::Test {
} // namespace } // namespace
TEST_F(SharingServiceTest, GetDeviceCandidates_Empty) { TEST_F(SharingServiceTest, GetDeviceCandidates_Empty) {
std::vector<SharingDeviceInfo> candidates = std::vector<std::unique_ptr<syncer::DeviceInfo>> candidates =
GetSharingService()->GetDeviceCandidates(kNoCapabilities); GetSharingService()->GetDeviceCandidates(kNoCapabilities);
EXPECT_TRUE(candidates.empty()); EXPECT_TRUE(candidates.empty());
} }
...@@ -251,7 +251,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_NoSynced) { ...@@ -251,7 +251,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_NoSynced) {
CreateFakeDeviceInfo(id, kDeviceName); CreateFakeDeviceInfo(id, kDeviceName);
device_info_tracker_.Add(device_info.get()); device_info_tracker_.Add(device_info.get());
std::vector<SharingDeviceInfo> candidates = std::vector<std::unique_ptr<syncer::DeviceInfo>> candidates =
GetSharingService()->GetDeviceCandidates(kNoCapabilities); GetSharingService()->GetDeviceCandidates(kNoCapabilities);
EXPECT_TRUE(candidates.empty()); EXPECT_TRUE(candidates.empty());
...@@ -260,7 +260,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_NoSynced) { ...@@ -260,7 +260,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_NoSynced) {
TEST_F(SharingServiceTest, GetDeviceCandidates_NoTracked) { TEST_F(SharingServiceTest, GetDeviceCandidates_NoTracked) {
sync_prefs_->SetSyncDevice(base::GenerateGUID(), CreateFakeSyncDevice()); sync_prefs_->SetSyncDevice(base::GenerateGUID(), CreateFakeSyncDevice());
std::vector<SharingDeviceInfo> candidates = std::vector<std::unique_ptr<syncer::DeviceInfo>> candidates =
GetSharingService()->GetDeviceCandidates(kNoCapabilities); GetSharingService()->GetDeviceCandidates(kNoCapabilities);
EXPECT_TRUE(candidates.empty()); EXPECT_TRUE(candidates.empty());
...@@ -273,7 +273,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_SyncedAndTracked) { ...@@ -273,7 +273,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_SyncedAndTracked) {
device_info_tracker_.Add(device_info.get()); device_info_tracker_.Add(device_info.get());
sync_prefs_->SetSyncDevice(id, CreateFakeSyncDevice()); sync_prefs_->SetSyncDevice(id, CreateFakeSyncDevice());
std::vector<SharingDeviceInfo> candidates = std::vector<std::unique_ptr<syncer::DeviceInfo>> candidates =
GetSharingService()->GetDeviceCandidates(kNoCapabilities); GetSharingService()->GetDeviceCandidates(kNoCapabilities);
ASSERT_EQ(1u, candidates.size()); ASSERT_EQ(1u, candidates.size());
...@@ -290,7 +290,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_Expired) { ...@@ -290,7 +290,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_Expired) {
scoped_task_environment_.FastForwardBy(kDeviceExpiration + scoped_task_environment_.FastForwardBy(kDeviceExpiration +
base::TimeDelta::FromMilliseconds(1)); base::TimeDelta::FromMilliseconds(1));
std::vector<SharingDeviceInfo> candidates = std::vector<std::unique_ptr<syncer::DeviceInfo>> candidates =
GetSharingService()->GetDeviceCandidates(kNoCapabilities); GetSharingService()->GetDeviceCandidates(kNoCapabilities);
EXPECT_TRUE(candidates.empty()); EXPECT_TRUE(candidates.empty());
...@@ -304,7 +304,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_MissingRequirements) { ...@@ -304,7 +304,7 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_MissingRequirements) {
sync_prefs_->SetSyncDevice(id, CreateFakeSyncDevice()); sync_prefs_->SetSyncDevice(id, CreateFakeSyncDevice());
// Require all capabilities. // Require all capabilities.
std::vector<SharingDeviceInfo> candidates = std::vector<std::unique_ptr<syncer::DeviceInfo>> candidates =
GetSharingService()->GetDeviceCandidates(-1); GetSharingService()->GetDeviceCandidates(-1);
EXPECT_TRUE(candidates.empty()); EXPECT_TRUE(candidates.empty());
...@@ -335,11 +335,11 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_DuplicateDeviceNames) { ...@@ -335,11 +335,11 @@ TEST_F(SharingServiceTest, GetDeviceCandidates_DuplicateDeviceNames) {
device_info_tracker_.Add(device_info_3.get()); device_info_tracker_.Add(device_info_3.get());
sync_prefs_->SetSyncDevice(id3, CreateFakeSyncDevice()); sync_prefs_->SetSyncDevice(id3, CreateFakeSyncDevice());
std::vector<SharingDeviceInfo> candidates = std::vector<std::unique_ptr<syncer::DeviceInfo>> candidates =
GetSharingService()->GetDeviceCandidates(kNoCapabilities); GetSharingService()->GetDeviceCandidates(kNoCapabilities);
ASSERT_EQ(1u, candidates.size()); ASSERT_EQ(1u, candidates.size());
EXPECT_EQ(id2, candidates[0].guid()); EXPECT_EQ(id2, candidates[0]->guid());
} }
TEST_F(SharingServiceTest, SendMessageToDeviceSuccess) { TEST_F(SharingServiceTest, SendMessageToDeviceSuccess) {
...@@ -630,7 +630,7 @@ TEST_F(SharingServiceTest, NoDevicesWhenSyncDisabled) { ...@@ -630,7 +630,7 @@ TEST_F(SharingServiceTest, NoDevicesWhenSyncDisabled) {
device_info_tracker_.Add(device_info.get()); device_info_tracker_.Add(device_info.get());
sync_prefs_->SetSyncDevice(id, CreateFakeSyncDevice()); sync_prefs_->SetSyncDevice(id, CreateFakeSyncDevice());
std::vector<SharingDeviceInfo> candidates = std::vector<std::unique_ptr<syncer::DeviceInfo>> candidates =
GetSharingService()->GetDeviceCandidates(kNoCapabilities); GetSharingService()->GetDeviceCandidates(kNoCapabilities);
ASSERT_EQ(0u, candidates.size()); ASSERT_EQ(0u, candidates.size());
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "chrome/browser/sharing/sharing_service_factory.h" #include "chrome/browser/sharing/sharing_service_factory.h"
#include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/browser_window.h"
#include "components/sync_device_info/device_info.h"
#include "ui/gfx/vector_icon_types.h" #include "ui/gfx/vector_icon_types.h"
namespace { namespace {
...@@ -88,7 +89,7 @@ void SharingUiController::OnDialogClosed(SharingDialog* dialog) { ...@@ -88,7 +89,7 @@ void SharingUiController::OnDialogClosed(SharingDialog* dialog) {
} }
void SharingUiController::SendMessageToDevice( void SharingUiController::SendMessageToDevice(
const SharingDeviceInfo& device, const syncer::DeviceInfo& device,
chrome_browser_sharing::SharingMessage sharing_message) { chrome_browser_sharing::SharingMessage sharing_message) {
last_dialog_id_++; last_dialog_id_++;
is_loading_ = true; is_loading_ = true;
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/strings/string16.h" #include "base/strings/string16.h"
#include "chrome/browser/sharing/proto/sharing_message.pb.h" #include "chrome/browser/sharing/proto/sharing_message.pb.h"
#include "chrome/browser/sharing/sharing_device_info.h"
#include "chrome/browser/ui/page_action/page_action_icon_container.h" #include "chrome/browser/ui/page_action/page_action_icon_container.h"
#include "components/sync_device_info/device_info.h"
#include "ui/gfx/image/image.h" #include "ui/gfx/image/image.h"
class BrowserWindow; class BrowserWindow;
...@@ -55,7 +55,7 @@ class SharingUiController { ...@@ -55,7 +55,7 @@ class SharingUiController {
virtual base::string16 GetTitle() = 0; virtual base::string16 GetTitle() = 0;
// Called when user chooses a synced device to complete the task. // Called when user chooses a synced device to complete the task.
virtual void OnDeviceChosen(const SharingDeviceInfo& device) = 0; virtual void OnDeviceChosen(const syncer::DeviceInfo& device) = 0;
// Called when user chooses a local app to complete the task. // Called when user chooses a local app to complete the task.
virtual void OnAppChosen(const App& app) = 0; virtual void OnAppChosen(const App& app) = 0;
...@@ -78,10 +78,13 @@ class SharingUiController { ...@@ -78,10 +78,13 @@ class SharingUiController {
bool send_failed() const { return send_failed_; } bool send_failed() const { return send_failed_; }
content::WebContents* web_contents() const { return web_contents_; } content::WebContents* web_contents() const { return web_contents_; }
const std::vector<App>& apps() const { return apps_; } const std::vector<App>& apps() const { return apps_; }
const std::vector<SharingDeviceInfo>& devices() const { return devices_; } const std::vector<std::unique_ptr<syncer::DeviceInfo>>& devices() const {
return devices_;
}
void set_apps_for_testing(std::vector<App> apps) { apps_ = std::move(apps); } void set_apps_for_testing(std::vector<App> apps) { apps_ = std::move(apps); }
void set_devices_for_testing(std::vector<SharingDeviceInfo> devices) { void set_devices_for_testing(
std::vector<std::unique_ptr<syncer::DeviceInfo>> devices) {
devices_ = std::move(devices); devices_ = std::move(devices);
} }
...@@ -91,7 +94,7 @@ class SharingUiController { ...@@ -91,7 +94,7 @@ class SharingUiController {
virtual void DoUpdateApps(UpdateAppsCallback callback) = 0; virtual void DoUpdateApps(UpdateAppsCallback callback) = 0;
void SendMessageToDevice( void SendMessageToDevice(
const SharingDeviceInfo& device, const syncer::DeviceInfo& device,
chrome_browser_sharing::SharingMessage sharing_message); chrome_browser_sharing::SharingMessage sharing_message);
private: private:
...@@ -117,7 +120,7 @@ class SharingUiController { ...@@ -117,7 +120,7 @@ class SharingUiController {
// Currently used apps and devices since the last call to UpdateAndShowDialog. // Currently used apps and devices since the last call to UpdateAndShowDialog.
std::vector<App> apps_; std::vector<App> apps_;
std::vector<SharingDeviceInfo> devices_; std::vector<std::unique_ptr<syncer::DeviceInfo>> devices_;
// ID of the last shown dialog used to ignore events from old dialogs. // ID of the last shown dialog used to ignore events from old dialogs.
int last_dialog_id_ = 0; int last_dialog_id_ = 0;
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "chrome/browser/ui/views/hover_button.h" #include "chrome/browser/ui/views/hover_button.h"
#include "chrome/browser/ui/views/page_action/omnibox_page_action_icon_container_view.h" #include "chrome/browser/ui/views/page_action/omnibox_page_action_icon_container_view.h"
#include "chrome/grit/theme_resources.h" #include "chrome/grit/theme_resources.h"
#include "components/sync_device_info/device_info.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/paint_vector_icon.h" #include "ui/gfx/paint_vector_icon.h"
...@@ -174,13 +175,14 @@ void ClickToCallDialogView::ButtonPressed(views::Button* sender, ...@@ -174,13 +175,14 @@ void ClickToCallDialogView::ButtonPressed(views::Button* sender,
if (!sender || sender->tag() < 0) if (!sender || sender->tag() < 0)
return; return;
size_t index = static_cast<size_t>(sender->tag()); size_t index = static_cast<size_t>(sender->tag());
const std::vector<SharingDeviceInfo>& devices = controller_->devices(); const std::vector<std::unique_ptr<syncer::DeviceInfo>>& devices =
controller_->devices();
const std::vector<ClickToCallUiController::App>& apps = controller_->apps(); const std::vector<ClickToCallUiController::App>& apps = controller_->apps();
DCHECK(index < devices.size() + apps.size()); DCHECK(index < devices.size() + apps.size());
if (index < devices.size()) { if (index < devices.size()) {
LogClickToCallSelectedDeviceIndex(kSharingClickToCallUiDialog, index); LogClickToCallSelectedDeviceIndex(kSharingClickToCallUiDialog, index);
controller_->OnDeviceChosen(devices[index]); controller_->OnDeviceChosen(*devices[index]);
CloseBubble(); CloseBubble();
return; return;
} }
...@@ -195,7 +197,8 @@ void ClickToCallDialogView::ButtonPressed(views::Button* sender, ...@@ -195,7 +197,8 @@ void ClickToCallDialogView::ButtonPressed(views::Button* sender,
} }
void ClickToCallDialogView::InitListView() { void ClickToCallDialogView::InitListView() {
const std::vector<SharingDeviceInfo>& devices = controller_->devices(); const std::vector<std::unique_ptr<syncer::DeviceInfo>>& devices =
controller_->devices();
const std::vector<ClickToCallUiController::App>& apps = controller_->apps(); const std::vector<ClickToCallUiController::App>& apps = controller_->apps();
int tag = 0; int tag = 0;
...@@ -203,8 +206,9 @@ void ClickToCallDialogView::InitListView() { ...@@ -203,8 +206,9 @@ void ClickToCallDialogView::InitListView() {
LogClickToCallDevicesToShow(kSharingClickToCallUiDialog, devices.size()); LogClickToCallDevicesToShow(kSharingClickToCallUiDialog, devices.size());
for (const auto& device : devices) { for (const auto& device : devices) {
auto dialog_button = std::make_unique<HoverButton>( auto dialog_button = std::make_unique<HoverButton>(
this, CreateDeviceIcon(device.device_type()), this, CreateDeviceIcon(device->device_type()),
device.human_readable_name(), /* subtitle= */ base::string16()); base::UTF8ToUTF16(device->client_name()),
/* subtitle= */ base::string16());
dialog_button->SetEnabled(true); dialog_button->SetEnabled(true);
dialog_button->set_tag(tag++); dialog_button->set_tag(tag++);
dialog_buttons_.push_back(AddChildView(std::move(dialog_button))); dialog_buttons_.push_back(AddChildView(std::move(dialog_button)));
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include <vector> #include <vector>
#include "chrome/browser/sharing/click_to_call/click_to_call_ui_controller.h" #include "chrome/browser/sharing/click_to_call/click_to_call_ui_controller.h"
#include "chrome/browser/sharing/sharing_device_info.h"
#include "chrome/browser/sharing/sharing_dialog.h" #include "chrome/browser/sharing/sharing_dialog.h"
#include "chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h" #include "chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h"
#include "ui/views/controls/button/button.h" #include "ui/views/controls/button/button.h"
......
...@@ -5,14 +5,17 @@ ...@@ -5,14 +5,17 @@
#include "chrome/browser/ui/views/sharing/click_to_call/click_to_call_dialog_view.h" #include "chrome/browser/ui/views/sharing/click_to_call/click_to_call_dialog_view.h"
#include <map> #include <map>
#include <memory>
#include <string> #include <string>
#include "base/strings/strcat.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/test/simple_test_clock.h" #include "base/test/simple_test_clock.h"
#include "chrome/browser/ui/views/hover_button.h" #include "chrome/browser/ui/views/hover_button.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "chrome/test/views/chrome_views_test_base.h" #include "chrome/test/views/chrome_views_test_base.h"
#include "components/send_tab_to_self/target_device_info.h" #include "components/send_tab_to_self/target_device_info.h"
#include "components/sync_device_info/device_info.h"
#include "components/vector_icons/vector_icons.h" #include "components/vector_icons/vector_icons.h"
#include "content/public/test/web_contents_tester.h" #include "content/public/test/web_contents_tester.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
...@@ -29,7 +32,7 @@ class ClickToCallUiControllerMock : public ClickToCallUiController { ...@@ -29,7 +32,7 @@ class ClickToCallUiControllerMock : public ClickToCallUiController {
: ClickToCallUiController(web_contents) {} : ClickToCallUiController(web_contents) {}
~ClickToCallUiControllerMock() override = default; ~ClickToCallUiControllerMock() override = default;
MOCK_METHOD1(OnDeviceChosen, void(const SharingDeviceInfo& device)); MOCK_METHOD1(OnDeviceChosen, void(const syncer::DeviceInfo& device));
MOCK_METHOD1(OnAppChosen, void(const App& app)); MOCK_METHOD1(OnAppChosen, void(const App& app));
}; };
...@@ -76,7 +79,7 @@ class ClickToCallDialogViewTest : public ChromeViewsTestBase { ...@@ -76,7 +79,7 @@ class ClickToCallDialogViewTest : public ChromeViewsTestBase {
controller_ = controller_ =
std::make_unique<ClickToCallUiControllerMock>(web_contents_.get()); std::make_unique<ClickToCallUiControllerMock>(web_contents_.get());
controller_->set_devices_for_testing(SetUpDevices()); controller_->set_devices_for_testing(SetUpDevices(3));
controller_->set_apps_for_testing(SetUpApps()); controller_->set_apps_for_testing(SetUpApps());
} }
...@@ -85,14 +88,16 @@ class ClickToCallDialogViewTest : public ChromeViewsTestBase { ...@@ -85,14 +88,16 @@ class ClickToCallDialogViewTest : public ChromeViewsTestBase {
ChromeViewsTestBase::TearDown(); ChromeViewsTestBase::TearDown();
} }
std::vector<SharingDeviceInfo> SetUpDevices() { std::vector<std::unique_ptr<syncer::DeviceInfo>> SetUpDevices(int count) {
std::vector<SharingDeviceInfo> devices; std::vector<std::unique_ptr<syncer::DeviceInfo>> devices;
devices.emplace_back("device_guid_1", base::UTF8ToUTF16("device1"), for (int i = 0; i < count; i++) {
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), 1); devices.emplace_back(std::make_unique<syncer::DeviceInfo>(
devices.emplace_back("device_guid_2", base::UTF8ToUTF16("device2"), base::StrCat({"device_guid_", base::NumberToString(i)}),
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), 1); base::StrCat({"device", base::NumberToString(i)}), "chrome_version",
devices.emplace_back("device_guid_3", base::UTF8ToUTF16("device3"), "user_agent", sync_pb::SyncEnums_DeviceType_TYPE_PHONE, "device_id",
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), 1); /* last_updated_timestamp= */ base::Time::Now(),
/* send_tab_to_self_receiving_enabled= */ false));
}
return devices; return devices;
} }
...@@ -121,11 +126,12 @@ TEST_F(ClickToCallDialogViewTest, PopulateDialogView) { ...@@ -121,11 +126,12 @@ TEST_F(ClickToCallDialogViewTest, PopulateDialogView) {
} }
TEST_F(ClickToCallDialogViewTest, DevicePressed) { TEST_F(ClickToCallDialogViewTest, DevicePressed) {
SharingDeviceInfo sharing_device_info( syncer::DeviceInfo device_info(
"device_guid_2", base::UTF8ToUTF16("device2"), "device_guid_1", "device1", "chrome_version", "user_agent",
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), 1); sync_pb::SyncEnums_DeviceType_TYPE_PHONE, "device_id",
EXPECT_CALL(*controller_.get(), /* last_updated_timestamp= */ base::Time::Now(),
OnDeviceChosen(DeviceEquals(&sharing_device_info))); /* send_tab_to_self_receiving_enabled= */ false);
EXPECT_CALL(*controller_.get(), OnDeviceChosen(DeviceEquals(&device_info)));
std::unique_ptr<ClickToCallDialogView> bubble_view_ = std::unique_ptr<ClickToCallDialogView> bubble_view_ =
std::make_unique<ClickToCallDialogViewMock>( std::make_unique<ClickToCallDialogViewMock>(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment