Closed Bug 1759064 Opened 2 years ago Closed 2 years ago

Make XPIDL analysis emit multiple source records to produce more useful search UI options


(Webtools :: Searchfox, enhancement)



(Not tracked)



(Reporter: asuth, Assigned: asuth)




(1 file)

In discussion with :nika and :mccr8 about the implications of bug 1758394 we've arrived at a plan to emit multiple source records for XPIDL interfaces to improve the UX.


  • For getters we'll emit 3 source records:
    1. For the attribute, a record that's the equivalent of the current record, it has the C++ getter symbol, the C++ setter symbol, and the JS best-effort "#name" symbol.
    2. For the getter, a record that's just for the C++ getter and will be named accordingly.
    3. C++ setter version of the above.
  • For interfaces and methods we'll emit 2 records:
    1. The current C++ and JS-best effort "#name"
    2. A C++ only version.

My distilled rationale is (search for this bug in the matrix channel for more context):

  • The search option's inclusion of the JS symbol makes the results very spammy.
    • It's possible to manually remove the JS symbol, but it's not particularly intuitive or fast, as the symbols tend to look like a wall of noise and manually selecting the comma onwards is a somewhat involved operation. In particular, this seems likely to be very unpleasant with a screen reader or on a touch-based device, especially one with a small screen.
  • Previously, go to definition targeting the C++ binding's symbol provided a means of then performing a search on just the C++ symbol that didn't have the JS symbol.

I've landed the fix against HEAD and have kicked off an indexing job on the "dev" channel with just m-c (which I've introduced as "just-mc.json" in so that I can update the mozsearch-mozilla expectations, which will see a change. So I'll do a pull request with that change and coverage for the attribute coverage equivalent to the new coverage in the "tests" repo too. That will go up slightly later tonight.

mozsearch-mozilla check updates landed at following steps documented at Replicated additional check(s) punted for time related reasons and some really excellent hand-waving in the commit message.

Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.