Commit 272896fe authored by Yasmin's avatar Yasmin Committed by Commit Bot

HTML decoding for phone# display.

Bug: 986269
Change-Id: Icf37fa45253e876d4b720547f9706e0af302b97b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1712874Reviewed-by: default avatarRichard Knoll <knollr@chromium.org>
Commit-Queue: Yasmin Molazadeh <yasmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#680027}
parent 010330e0
......@@ -5,6 +5,7 @@
#include "chrome/browser/sharing/click_to_call/click_to_call_sharing_dialog_controller.h"
#include "base/strings/strcat.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/external_protocol/external_protocol_handler.h"
#include "chrome/browser/sharing/click_to_call/click_to_call_constants.h"
#include "chrome/browser/sharing/click_to_call/click_to_call_dialog.h"
......@@ -23,6 +24,7 @@
#include "content/public/browser/web_contents.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/strings/grit/ui_strings.h"
#include "url/url_util.h"
using SharingMessage = chrome_browser_sharing::SharingMessage;
using App = ClickToCallSharingDialogController::App;
......@@ -137,9 +139,17 @@ void ClickToCallSharingDialogController::OnDeviceChosen(
send_failed_ = false;
UpdateIcon();
std::string phone_number_string(phone_url_.GetContent());
url::RawCanonOutputT<base::char16> unescaped_phone_number;
url::DecodeURLEscapeSequences(
phone_number_string.data(), phone_number_string.size(),
url::DecodeURLMode::kUTF8OrIsomorphic, &unescaped_phone_number);
SharingMessage sharing_message;
sharing_message.mutable_click_to_call_message()->set_phone_number(
phone_url_.GetContent());
base::UTF16ToUTF8(base::string16(unescaped_phone_number.data(),
unescaped_phone_number.length())));
sharing_service_->SendMessageToDevice(
device.guid(), kSharingClickToCallMessageTTL, std::move(sharing_message),
base::Bind(&ClickToCallSharingDialogController::OnMessageSentToDevice,
......
......@@ -36,7 +36,8 @@ using namespace instance_id;
namespace {
const char kPhoneNumber[] = "987654321";
const char kPhoneNumber[] = "073%2087%202525%2078";
const char kExpectedPhoneNumber[] = "073 87 2525 78";
const char kReceiverGuid[] = "test_receiver_guid";
const char kReceiverName[] = "test_receiver_name";
......@@ -112,7 +113,7 @@ TEST_F(ClickToCallSharingDialogControllerTest, OnDeviceChosen) {
sync_pb::SyncEnums::TYPE_PHONE, base::Time::Now(), 1);
chrome_browser_sharing::SharingMessage sharing_message;
sharing_message.mutable_click_to_call_message()->set_phone_number(
kPhoneNumber);
kExpectedPhoneNumber);
EXPECT_CALL(*service(), SendMessageToDevice(Eq(kReceiverGuid),
Eq(kSharingClickToCallMessageTTL),
ProtoEquals(sharing_message), _));
......
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