Closed Bug 1353064 Opened 7 years ago Closed 7 years ago

Printing with Firefox 52.0.1 on on Mac OS X is always scaled to 100%

Categories

(Core :: Printing: Setup, defect)

52 Branch
x86_64
macOS
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla56
Tracking Status
firefox56 --- verified

People

(Reporter: dw-dev, Assigned: haik)

References

Details

Attachments

(1 file, 2 obsolete files)

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Build ID: 20170302120751

Steps to reproduce:

This is a follow-on from Bug 1324064 (see comments 21 & 22).

In mid-February, I released my add-on Print Edit 17.7 to make it compatible with the fix in Bug 1324064.

In early March, I have released Print Edit 17.10 with a workaround for Bug 1352841.

Recently, I have received a bug report from another user who is using Firefox 52.0.1 and Print Edit 17.10 running on iMac Sierra 10.12.3. This user says that Print Edit no longer prints to the desired scale. It now always prints to the default 100%.  It is not clear whether print previewing is also always at 100%.

Please note: Normally, none of Firefox's print preview functionality is available when using Mac OS X, but Print Edit makes that functionality available on Mac OS X.


Actual results:

On Mac OS X, pages are always printed at 100%, ignoring the scaling.


Expected results:

On Mac OS X, pages should be printed at the correctly scaled size.
haik - sounds like we might have some compatibility issues with printing via the parent on Mac and the Print Edit addon, would you mind having a look?
Flags: needinfo?(haftandilian)
Hi, this sounds like it could be similar to the issue with Bug 1346649 "Ignore scaling Print option working opposite of expected on Mac OSX".

Build 52 made Mac printing respect the "Ignore Scaling and Shrink To Fit Page Width" check box--meaning that if the check box is selected, the scaling percentage will be ignored. Is it possible, the user had the "Ignore Scaling..." check box selected? If that's the case, we should consider this a dupe of 1346649.

Unfortunately, this isn't very intuitive and I plan to remove the "Ignore Scaling and Shrink To Fit Page Width" check box from the print dialog in Bug 1346649. More discussion on 1346649. (If you have any comments on the usefulness of "Ignore Scaling", please add them to 1346649.)

I did a few tests with the Print Edit extension version 17.11 and scaling worked for me when "Ignore Scaling" was not checked.
Flags: needinfo?(haftandilian) → needinfo?(dw-dev)
I think it might be useful for you to see the user's original problem report:

"I am using iMac Sierra (10.12.3). It seems that since Firefox update to 52.0.1 or perhaps it was the update for Print Edit extension (17.10) Print Edit no longer prints to desired scale. It now always prints to the default 100%. Tried approaching this issue by changing the scale in the system print dialogue box instead but the results were terrible. Is there an issue here that you are aware of or is it singular to my situation?"

I don't think this provides any more information, but I thought it might be useful.

I will ask the user whether he had the "Ignore Scaling and Shrink To Fit Page Width" check box selected.
Flags: needinfo?(dw-dev)
There is bug 1303051 too.
Component: Untriaged → Printing: Setup
OS: Unspecified → Mac OS X
Product: Firefox → Core
Hardware: Unspecified → x86_64
Here are the user's answers to the two questions:

1. When you preview the page in the print preview window, is the scale correctly applied there, or is it also 100% ?

   "Yes, the PrintEdit print preview window shows scaling perfectly as always."


2. Did you have the 'Ignore Scaling and Shrink To Fit Page Width' check box enabled (ticked) in the print dialog.

   "No difference. The 'Ignore Scaling and Shrink to Fit Page Width' enabled (ticked) or disabled (not ticked)
    yields exactly the same result. Both print at 100%. It's as though Firefox print dialogue is not communicating
    with Print Edit scaling."
I have received several more bug reports from users who are experiencing the same problem.

Are you able to confirm that this is a bug in Firefox 52.0 ?
Flags: needinfo?(haftandilian)
(In reply to dw-dev from comment #6)
> I have received several more bug reports from users who are experiencing the
> same problem.
> 
> Are you able to confirm that this is a bug in Firefox 52.0 ?

It's sounding like a build 52 regression, but I have to spend some more time on this before I understand what's going on.
Assignee: nobody → haftandilian
Flags: needinfo?(haftandilian)
On Nightly 55, this problem is happening because we're missing an nsPrintSettingsX::GetScaling() implementation. Bug 675709 added the nsPrintSettingsX::SetScaling() override to set the scale value in the OS X native print settings object, but the GetScaling() call still returns the default value from the base class. Will post a patch.

Needs more debugging to determine what was causing the problem in 52+ before 675709 landed in build 54.
Attached patch Adds nsPrintSettingsX::GetScaling() (obsolete) (deleted) — Splinter Review
Adds nsPrintSettingsX::GetScaling(). Tested with Print Edit 18.2.
I haven't been able to reproduce this with build 52. mozregression narrowed this down to

https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=629a2481d51916ade2716a5155d0cee83475aaca&tochange=17414d851efb55e58879157ef16f525a2e73ab0b

  Bug 1331857 - Create class BasicRenderingContext2D. r=gwright
  Bug 675709 - Export the constants for paper orientation. r=haik
  Bug 1328512 followup 2 - Update expectation of style system tests for stylo. DONTBUILD

Given comment 8, this bug appears to be a regression introduced by 675709.
Attached patch Adds nsPrintSettingsX::GetScaling() (obsolete) (deleted) — Splinter Review
Attachment #8877776 - Attachment is obsolete: true
Attachment #8877796 - Attachment is obsolete: true
Update to comment 10. I used Print Edit 17.10 for the mozregression check. With version 18.2, older versions of Firefox didn't work. The Print Preview option opened a new blank tab with no scaling menu.
Flags: needinfo?(dw-dev)
dw-dev, could you verify Print Edit scaling works as expected with the build generated here?

https://treeherder.mozilla.org/#/jobs?repo=try&revision=00fd51d4e9f1d3aef1a52b71f043bf605bbae576
This bug was reported to me by a user of Print Edit.  I do not have access to a Mac OS X system, so I have never actually reproduced this bug myself.  So I am unable to confirm whether scaling works as expected with the new build.
I could reproduce this issue with 56.0a1 nightly and confirmed haik's Try artifact solves this Bug.
Attachment #8877798 - Flags: review?(cosmo0920.oucc)
Comment on attachment 8877798 [details]
Bug 1353064 - Add-on always prints at 100% due to missing nsPrintSettingsX::GetScaling() impl

https://reviewboard.mozilla.org/r/149218/#review156560

::: widget/cocoa/nsPrintSettingsX.mm:318
(Diff revision 2)
>  NS_IMETHODIMP
> +nsPrintSettingsX::GetScaling(double *aScaling)
> +{
> +  NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
> +
> +  NSMutableDictionary* printInfoDict = [mPrintInfo dictionary];

How about use NSDictionary type instead of NSMutableDictonary?
I think that mutable dictinary is awful in getter.
Attachment #8877798 - Flags: review?(cosmo0920.oucc) → review-
Haik, any update on this?
Above review comment is just mutability dictionary type issue.
Otherwise, it is fine for me.
Flags: needinfo?(haftandilian)
(In reply to Hiroshi Hatake [:cosmo0920] from comment #19)
> Haik, any update on this?
> Above review comment is just mutability dictionary type issue.
> Otherwise, it is fine for me.

Thanks for the feedback, Hiroshi. I got sidetracked with my sandboxing work. I'll post an update to the code and we can get this landed in 56.
Flags: needinfo?(haftandilian)
Comment on attachment 8877798 [details]
Bug 1353064 - Add-on always prints at 100% due to missing nsPrintSettingsX::GetScaling() impl

https://reviewboard.mozilla.org/r/149218/#review163910
Attachment #8877798 - Flags: review?(cosmo0920.oucc) → review+
Pushed by haftandilian@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5a4f7cc99805
Add-on always prints at 100% due to missing nsPrintSettingsX::GetScaling() impl r=cosmo0920
https://hg.mozilla.org/mozilla-central/rev/5a4f7cc99805
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
dw-dev, could you verify it's fixed in the next Nightly, please?
Loic, This bug was reported to me by a user of Print Edit.  I do not have access to an up-to-date Mac OS X system, so I have never actually reproduced this bug myself.  Therefore, I am unable to confirm whether scaling works as expected with the new build.  I could try contacting the user who reported the problem to me, but at that time the user was on the current release (Firefox 52), not Nightly.
Flags: needinfo?(dw-dev)
Flags: qe-verify+
I've been able to reproduce the initial issue using firefox 52beta9 on macOS 10.12.6 and verified that the scale works properly on Firefox 56 beta 11 using the same platform (macOS 10.12.6).
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: