Closed Bug 1657653 Opened 3 years ago Closed 3 years ago

Calling certain text operations in mac hangs firefox

Categories

(Core :: Disability Access APIs, defect, P1)

All
macOS
defect

Tracking

()

VERIFIED FIXED
81 Branch
Tracking Status
firefox80 --- verified
firefox81 --- verified

People

(Reporter: eeejay, Assigned: eeejay)

References

Details

(Whiteboard: [mac2020_1])

Attachments

(1 file)

The current implementation for getting a string for a range requires us to traverse the text tree in the parent process and make a handful of synchronous calls into content for each node. The larger the subtree, the more calls. This means that if a user selects a very large chunk of text with VoiceOver running, or OSX's speak selection feature - Firefox will hang.

I think we need to back out this API until a more efficient implementation is available.

Assignee: nobody → eitan
Status: NEW → ASSIGNED

Comment on attachment 9169466 [details]
Bug 1657653 - Hide text marker range attributes that hammer IPC. r=morgan

Beta/Release Uplift Approval Request

  • User impact if declined: Serious firefox slow downs
  • Is this code covered by automated tests?: Yes
  • 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 has landed in central. It mistakenly got associated with another bug:
    https://hg.mozilla.org/mozilla-central/rev/e43038a3c22a8aaf90d266048bf4bc4272111365
  • String changes made/needed:
Attachment #9169466 - Flags: approval-mozilla-beta?
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch

Comment on attachment 9169466 [details]
Bug 1657653 - Hide text marker range attributes that hammer IPC. r=morgan

macos a11y fix, approved for 80.0b8

Attachment #9169466 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: qe-verify+
See Also: → 1659215
QA Whiteboard: [qa-triaged]

I successfully reproduced the issue on Firefox 81.0a1 (2020-08-06) under macOS 11 by selecting all the text from this page and activate the speak selection feature.

The hangs are no longer reproducible on Firefox Nightly 81.0a1 (2020-08-16), but I couldn't use the text selection feature on 80.0b8. It simply won't activate by using the key combinations.

Any idea what could have happened here Eitan?

Flags: needinfo?(eitan)

(In reply to Catalin Sasca, QA [:csasca] from comment #6)

I successfully reproduced the issue on Firefox 81.0a1 (2020-08-06) under macOS 11 by selecting all the text from this page and activate the speak selection feature.

The hangs are no longer reproducible on Firefox Nightly 81.0a1 (2020-08-16), but I couldn't use the text selection feature on 80.0b8. It simply won't activate by using the key combinations.

Any idea what could have happened here Eitan?

The patch in this bug temporarily deactivated the speak selection feature until we could figure out a performant way to do it. It will remain disabled in 80, but I recently landed a patch that makes it fast again in 81, and re-exposed the API in bug 1659215. So now this is fixed and should not be reproducible in nightly.

Flags: needinfo?(eitan)

Marking nightly as fixed, as it was verified on 81.0a1 (2020-08-16), see Comment 6.

Verified as well with Firefox 80.0 on macOS 10.15.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.