Closed Bug 1189837 Opened 9 years ago Closed 9 years ago

Print Preview - displayed page contents extend beyond paper sheet edges

Categories

(Core :: Panning and Zooming, defect)

42 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox41 --- unaffected
firefox42 + fixed

People

(Reporter: dw-dev, Assigned: kats)

References

Details

(Keywords: regression, reproducible)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
Build ID: 20150730030208

Steps to reproduce:

File > Print Preview


Actual results:

Print Preview is displayed with page contents extending beyond the paper sheet edges.


Expected results:

Page contents should be truncated at paper sheet left/right margin and (if there are multiple pages) interrupted at paper sheet top/bottom margins.
Component: Untriaged → Print Preview
Product: Firefox → Core
[Tracking Requested - why for this release]:
Status: UNCONFIRMED → NEW
Ever confirmed: true
Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=738d8ee106fe&tochange=af67b5f73381

Suspect: 59d0d20d6337	Kartikaya Gupta — Bug 1178354 - Ensure we fire a before-first-paint event for printing as well. r=tn
Blocks: 1178354
Flags: needinfo?(bugmail.mozilla)
Keywords: reproducible
The patch was supposed to fix issues like this, not create them! *sigh* I'll try to repro and investigate.
Assignee: nobody → bugmail.mozilla
Flags: needinfo?(bugmail.mozilla)
Tracking for 42. Sounds like kats is on the job :)
I was able to repro this on my windows machine easily. Turning on paint flashing showed that the extra white areas were not getting repainted. I confirmed that they are coming from the checkerboarding-background-color code in ContainerLayerComposite.cpp by commenting out that code and observing that the white areas went away. I just need to figure out exactly why that code is triggering and how to fix it properly.
Component: Print Preview → Panning and Zooming
The reason it was checkerboarding is because the composition bounds was a little too large. This in turn was because the composition bounds was subtracting off the scrollbars using CSS pixels instead of LD pixels (i.e. what it says at https://bugzilla.mozilla.org/show_bug.cgi?id=1168487#c0). Correcting that fixed the problem.
Attached patch Patch (deleted) — Splinter Review
I also verified that this patch has the desired behaviour after full zoom has been applied. (STR: load google.co.uk on a device with 1.5 CSSToLayoutDevice with layer borders, and ctrl+ to apply full zoom, ensure purple border doesn't overlap scrollbar.)

I'm not sure if there is a difference between this and explicitly using UnscaledDevicePixelsPerCSSPixel like you mention in bug 1168487 comment 0 but the end result here seems correct.
Attachment #8643723 - Flags: review?(mstange)
Comment on attachment 8643723 [details] [diff] [review]
Patch

Review of attachment 8643723 [details] [diff] [review]:
-----------------------------------------------------------------

This is much better than explicitly using UnscaledDevicePixelsPerCSSPixel.
Attachment #8643723 - Flags: review?(mstange) → review+
Comment on attachment 8643723 [details] [diff] [review]
Patch

Hmm, shouldn't we do this for all the users of ScrollbarAreaToExcludeFromCompositionBoundsFor?
Oh, I thought I did. Missed the use site in MobileViewportManager, but I'll update that too (tomorrow morning).
I put the patch on bug 1168487, just because I like closing bugs with patches rather than as dupes. :)
Blocks: 1168487
https://hg.mozilla.org/mozilla-central/rev/fa8ed8cd2a06
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
No longer blocks: 1188064
Is this bug fix in Nightly 2015-08-07 ?

The reason for asking is that the display behaviour in print preview has changed from that which I originally reported, but there are now diiferent display artefacts:

- depending on the page displayed and zoom level, there may be a thin horizontal white line displayed in the right-hand background area (e.g. Google home page and 100% zoom).

- depending on the page displayed, zoom level and scroll position, the page contents still sometimes extend beyond the paper sheet edges; if scrolling with the mousewheel, this may be transient.

- in all cases, scrolling up or down using the mousewheel, causes graduated banded shading of the background area on both sides, towards the bottom or top of the window.
Yes, the bug fix is in Nightly 2015-08-07.

(In reply to dw-dev from comment #16)
> - depending on the page displayed and zoom level, there may be a thin
> horizontal white line displayed in the right-hand background area (e.g.
> Google home page and 100% zoom).
> 
> - depending on the page displayed, zoom level and scroll position, the page
> contents still sometimes extend beyond the paper sheet edges; if scrolling
> with the mousewheel, this may be transient.

Hm, please file new bugs for these issues, and include the URLs on which you are seeing these. Thanks.

> - in all cases, scrolling up or down using the mousewheel, causes graduated
> banded shading of the background area on both sides, towards the bottom or
> top of the window.

This one is bug 1169957.
> - depending on the page displayed and zoom level, there may be a thin
> horizontal white line displayed in the right-hand background area (e.g.
> Google home page and 100% zoom).
> 
> - depending on the page displayed, zoom level and scroll position, the page
> contents still sometimes extend beyond the paper sheet edges; if scrolling
> with the mousewheel, this may be transient.

I have only noticed the first problem on the Google home page.  The second problem happens on many web pages.  After looking at quite a lot of URL's in print preview, I am fairly certain that these two problems have the same underlying cause.

I have raised bug 1192498 to cover both problems. 

> - in all cases, scrolling up or down using the mousewheel, causes graduated
> banded shading of the background area on both sides, towards the bottom or
> top of the window.

I have confirmed that disabling apz (layers.async-pan-zoom.enabled = false) eliminates this problem.  I will re-test when bug 1169957 is fixed.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: