Commit 43c994d6 authored by Yi Gu's avatar Yi Gu Committed by Commit Bot

[WebOTP] Report SMSReceiverStart in Blink.UseCounter.Features

We no longer report after crrev.com/c/2097041. This patch resumes the
reporting logic.

Bug: 1107590
Change-Id: I9dd8d30a91f48077694a6a3d054f36aa9b259868
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2350093Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Reviewed-by: default avatarSam Goto <goto@chromium.org>
Commit-Queue: Yi Gu <yigu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#797214}
parent 14240d16
......@@ -720,4 +720,34 @@ IN_PROC_BROWSER_TEST_F(SmsBrowserTest, SmsFetcherUAF) {
navigate.Run();
}
IN_PROC_BROWSER_TEST_F(SmsBrowserTest, ReportSMSReceiverStartInUseCounter) {
GURL url = GetTestUrl(nullptr, "simple_page.html");
EXPECT_TRUE(NavigateToURL(shell(), url));
shell()->web_contents()->SetDelegate(&delegate_);
ExpectSmsPrompt();
auto provider = std::make_unique<MockSmsProvider>();
MockSmsProvider* mock_provider_ptr = provider.get();
BrowserMainLoop::GetInstance()->SetSmsProviderForTesting(std::move(provider));
EXPECT_CALL(*mock_provider_ptr, Retrieve(_)).WillOnce(Invoke([&]() {
mock_provider_ptr->NotifyReceive(url::Origin::Create(url), "hello");
ConfirmPrompt();
}));
base::HistogramTester histogram_tester;
std::string script = R"(
(async () => {
let cred = await navigator.credentials.get({otp: {transport: ["sms"]}});
return cred.code;
}) ();
)";
EXPECT_EQ("hello", EvalJs(shell(), script));
content::FetchHistogramsFromChildProcesses();
histogram_tester.ExpectBucketCount(
"Blink.UseCounter.Features", blink::mojom::WebFeature::kSMSReceiverStart,
1);
}
} // namespace content
......@@ -7,6 +7,7 @@
#include <memory>
#include <utility>
#include "base/metrics/histogram_macros.h"
#include "build/build_config.h"
#include "third_party/blink/public/common/sms/sms_receiver_outcome.h"
#include "third_party/blink/public/mojom/credentialmanager/credential_manager.mojom-blink.h"
......@@ -654,6 +655,8 @@ ScriptPromise CredentialsContainer::get(
CredentialManagerProxy::From(script_state)->SmsReceiver();
sms_receiver->Receive(WTF::Bind(&OnSmsReceive, WrapPersistent(resolver),
base::TimeTicks::Now()));
UMA_HISTOGRAM_ENUMERATION("Blink.UseCounter.Features",
WebFeature::kSMSReceiverStart);
return promise;
}
......
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