Closed Bug 1840096 Opened 2 years ago Closed 1 years ago

Identify duckduckgo in Windows default browser agent/WDBA telemetry

Categories

(Toolkit :: Default Browser Agent, enhancement, P3)

Desktop
Windows
enhancement

Tracking

()

RESOLVED FIXED
119 Branch
Tracking Status
firefox118 + fixed
firefox119 --- fixed

People

(Reporter: RT, Assigned: sshatrughan)

References

Details

(Whiteboard: [fidedi-ope])

Attachments

(3 files)

Similarly to what was done on https://bugzilla.mozilla.org/show_bug.cgi?id=1738211 we need to extend the list of identified browsers with the addition of the duckduckgo browser given the Windows launch of their client application.
Looking at the registry they use ApplicationName of "DuckDuckGo"

DDG uses the AppX installer. Relevant part of the registry is attached; key is AppXtzt71pvwdgv9mm1zrgdqvc10rbjyynrf.

Assignee: nobody → sshatrughan
Status: NEW → ASSIGNED

(In reply to Nick Alexander :nalexander [he/him] from comment #2)

DDG uses the AppX installer. Relevant part of the registry is attached; key is AppXtzt71pvwdgv9mm1zrgdqvc10rbjyynrf.

Hey @nalexander,

In https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultBrowser.cpp#132, I notice that the AppX installer key is being used to disambiguate EdgeWithEdgeHTML and EdgeWithBlink.

  for (const auto& [prefix, browser] : kFriendlyNamePrefixes) {
    // Find matching Friendly Name prefix.
    if (!wcsnicmp(friendlyName.data(), prefix.data(), prefix.length())) {
      if (browser == Browser::EdgeWithBlink) {
        // Disambiguate EdgeWithEdgeHTML and EdgeWithBlink.
        // The ProgID below is documented as having not changed while Edge was
        // actively developed. It's assumed but unverified this is true in all
        // cases (e.g. across locales).
        //
        // Note: at time of commit EdgeWithBlink from the Windows Store was a
        // wrapper for Edge Installer instead of a package containing Edge,
        // therefore the Default Browser associating ProgID was not in the form
        // "AppX[hash]" as expected. It is unclear if the EdgeWithEdgeHTML and
        // EdgeWithBlink ProgIDs would differ if the latter is changed into a
        // package containing Edge.
        constexpr std::wstring_view progIdEdgeHtml{
            L"AppXq0fevzme2pys62n3e0fbqa7peapykr8v"};

        if (!wcsnicmp(registeredApp.get(), progIdEdgeHtml.data(),
                      progIdEdgeHtml.length())) {
          return Browser::EdgeWithEdgeHTML;
        }
      }

In the case of DuckDuckGo, I assume there's only one version of the browser we're interested in detecting?
Hence it's not clear to me where I can use this key (AppXtzt71pvwdgv9mm1zrgdqvc10rbjyynrf) .

Flags: needinfo?(nalexander)

:Shridhar You're correct, there's only one version for DDG that we want to monitor. The Edge disambiguation code is a weird special case to account for Edge having two browsers of the same name.

Flags: needinfo?(nalexander)
Priority: -- → P3
Attachment #9348293 - Attachment description: Bug 1840096 - Add parameters to identify DuckDuckGo in WDBA Telemetry. r=nrishel → Bug 1840096 - Add parameters to identify DuckDuckGo in WDBA Telemetry. r=nalexander
Pushed by nrishel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/845f618bbdf6 Add parameters to identify DuckDuckGo in WDBA Telemetry. r=nalexander
Status: ASSIGNED → RESOLVED
Closed: 1 years ago
Resolution: --- → FIXED
Target Milestone: --- → 119 Branch

Comment on attachment 9348293 [details]
Bug 1840096 - Add parameters to identify DuckDuckGo in WDBA Telemetry. r=nalexander

Beta/Release Uplift Approval Request

  • User impact if declined: None. The impact to Mozilla is that we have less visibility into the success of the DuckDuckGo Windows browser to attract existing Firefox users.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This patch is very small: it extends an existing list to match an additional case and reports that case via existing telemetry channels. Romain has verified the telemetry is collected on Beta: https://sql.telemetry.mozilla.org/queries/94875/source.
  • String changes made/needed:
  • Is Android affected?: No
Attachment #9348293 - Flags: approval-mozilla-release?

Nick, this patch doesn't graft cleanly to the release branch.

Flags: needinfo?(nalexander)
Attachment #9348293 - Flags: approval-mozilla-release?
Attachment #9357415 - Flags: approval-mozilla-release+

This got merged while I was out. Thanks, all!

Flags: needinfo?(nalexander)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: