Closed Bug 1676388 Opened 4 years ago Closed 3 years ago

Changing a destination that was just used to the actual printer triggers a delay in Print/Save button update

Categories

(Toolkit :: Printing, defect, P2)

defect

Tracking

()

VERIFIED FIXED
85 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox83 --- wontfix
firefox84 --- wontfix
firefox85 --- verified

People

(Reporter: asoncutean, Assigned: mstriemer)

References

(Blocks 1 open bug)

Details

(Keywords: regression, Whiteboard: [print2020_v85] [old-ui-])

Attachments

(4 files)

Attached image screencast delay.gif

Affected versions

  • 84.0a1
  • 83.0b10

Affected platforms

  • Windows 7

Steps to reproduce

  1. Launch Firefox
  2. Make sure print.tab_modal.enabled is set on true
  3. Hit CTRL + P on any page
  4. Select Save to pdf from destination
  5. Save the page to any desired location
  6. Hit CTRL + P again on the same page
  7. Change the destination to the actual printer
  8. Observe the Save button

Expected result

  • The button is updated to Print instantly when the destination is changed

Actual result

  • The button updates with several seconds delay, once the destination is set

Regression range

Additional notes

  • Not reproducible viceversa (from the actual printer to save to pdf)
  • Reproducible with other options, but only when changing to the actual printer; confusing when the corresponding button is the same between the destination, for example when changing from Microsft XPS Document Writer to the actual printer, if quick enough user press the Print button but the save prompt appears instead
  • fission.autostart and gfx.webrender.all set on true make no difference
  • Manage to reproduce only on Windows 7 so far using a network printer
  • The issue is not reproducible if Save to pdf is not actually used previously, just toggling the options has no delay in Print/Save update

Suggested severity

  • S3

We should make the form disabled while the print settings are being loaded - perhaps leaving only the destination picker operable.

Severity: -- → S3
Priority: -- → P2
Has Regression Range: --- → yes
Has STR: --- → yes
Whiteboard: [print2020_v84] [old-ui-] → [print2020_v85] [old-ui-]
Assignee: nobody → mstriemer

When changing printers one of them could be slower than another. If you change
to a slow printer and back to an already loaded/fast printer then the slow
printer shouldn't overwrite the settings once it finally loads.

Example: Start print on PDF printer, switch to a physical printer and back to PDF. If
the physical printer had to be contacted to pull settings this operation could take
a few seconds, at which point the settings from the physical printer could overwrite
the PDF printer settings.

This removes all the change event listeners so that all the elements listen
for just the input event. Listening to both could cause two settings change
events to be dispatched and requires writing code to ignore change events
in many components.

Depends on D99135

When loading a printer's settings it can take a few seconds for physical printers. If
this happens then changes made while the settings are being fetched could be thrown
away. Disable the form while we're loading settings for a printer to avoid losing
settings changes.

Depends on D99136

Pushed by mstriemer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4542bcff02f3
Part 1: Don't update to new printer settings if printer has since changed r=sfoster
https://hg.mozilla.org/integration/autoland/rev/66c31bb28425
Part 2: Only listen to input events in print dialog r=sfoster
https://hg.mozilla.org/integration/autoland/rev/3d35212af423
Part 3: Disable print setting inputs while loading printer settings r=sfoster

Verified fixed with Fx 85.0a1 (2020-12-11) on Windows 10 and Windows 7.

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

Attachment

General

Created:
Updated:
Size: