mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1778754 - Send WDBA telemetry even when default browser or PDF telemetry fails. r=bytesized
Adds error enum and strings to WDBA telemetry. Depends on D187069 Differential Revision: https://phabricator.services.mozilla.com/D185632
This commit is contained in:
parent
e94f2cdeda
commit
43719bc4d5
@ -313,16 +313,21 @@ DefaultAgent::DoTask(const nsAString& aUniqueToken, const bool aForce) {
|
||||
}
|
||||
|
||||
DefaultBrowserResult defaultBrowserResult = GetDefaultBrowserInfo();
|
||||
if (defaultBrowserResult.isErr()) {
|
||||
return NS_ERROR_FAILURE;
|
||||
DefaultBrowserInfo browserInfo{};
|
||||
if (defaultBrowserResult.isOk()) {
|
||||
browserInfo = defaultBrowserResult.unwrap();
|
||||
} else {
|
||||
browserInfo.currentDefaultBrowser = Browser::Error;
|
||||
browserInfo.previousDefaultBrowser = Browser::Error;
|
||||
}
|
||||
DefaultBrowserInfo browserInfo = defaultBrowserResult.unwrap();
|
||||
|
||||
DefaultPdfResult defaultPdfResult = GetDefaultPdfInfo();
|
||||
if (defaultPdfResult.isErr()) {
|
||||
return NS_ERROR_FAILURE;
|
||||
DefaultPdfInfo pdfInfo{};
|
||||
if (defaultPdfResult.isOk()) {
|
||||
pdfInfo = defaultPdfResult.unwrap();
|
||||
} else {
|
||||
pdfInfo.currentDefaultPdf = "error";
|
||||
}
|
||||
DefaultPdfInfo pdfInfo = defaultPdfResult.unwrap();
|
||||
|
||||
NotificationActivities activitiesPerformed;
|
||||
// We block while waiting for the notification which prevents STA thread
|
||||
|
@ -23,6 +23,7 @@ namespace mozilla::default_agent {
|
||||
using BrowserResult = mozilla::WindowsErrorResult<Browser>;
|
||||
|
||||
constexpr std::pair<std::string_view, Browser> kStringBrowserMap[]{
|
||||
{"error", Browser::Error},
|
||||
{"", Browser::Unknown},
|
||||
{"firefox", Browser::Firefox},
|
||||
{"chrome", Browser::Chrome},
|
||||
@ -115,6 +116,15 @@ static BrowserResult GetDefaultBrowser() {
|
||||
{L"\u641c\u72d7\u9ad8\u901f\u6d4f\u89c8\u5668", Browser::Sogou},
|
||||
};
|
||||
|
||||
// We should have one prefix for every browser we track, minus exceptions
|
||||
// listed below.
|
||||
// Error - not a real browser.
|
||||
// Unknown - not a real browser.
|
||||
// EdgeWithEdgeHTML - duplicate friendly name with EdgeWithBlink with special
|
||||
// handling below.
|
||||
static_assert(mozilla::ArrayLength(kFriendlyNamePrefixes) ==
|
||||
kBrowserCount - 3);
|
||||
|
||||
for (const auto& [prefix, browser] : kFriendlyNamePrefixes) {
|
||||
// Find matching Friendly Name prefix.
|
||||
if (!wcsnicmp(friendlyName.data(), prefix.data(), prefix.length())) {
|
||||
|
@ -14,9 +14,10 @@
|
||||
|
||||
namespace mozilla::default_agent {
|
||||
|
||||
MOZ_DEFINE_ENUM_CLASS(Browser, (Unknown, Firefox, Chrome, EdgeWithEdgeHTML,
|
||||
EdgeWithBlink, InternetExplorer, Opera, Brave,
|
||||
Yandex, QQBrowser, _360Browser, Sogou));
|
||||
MOZ_DEFINE_ENUM_CLASS(Browser,
|
||||
(Error, Unknown, Firefox, Chrome, EdgeWithEdgeHTML,
|
||||
EdgeWithBlink, InternetExplorer, Opera, Brave, Yandex,
|
||||
QQBrowser, _360Browser, Sogou));
|
||||
|
||||
struct DefaultBrowserInfo {
|
||||
Browser currentDefaultBrowser;
|
||||
|
Loading…
Reference in New Issue
Block a user