Closed Bug 1271112 Opened 8 years ago Closed 8 years ago

Incorrect display long website

Categories

(Core :: Graphics, defect)

46 Branch
x86_64
Windows 10
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla49
Tracking Status
firefox46 --- wontfix
firefox47 --- wontfix
firefox48 + fixed
firefox49 + fixed
firefox-esr38 --- wontfix
firefox-esr45 - wontfix

People

(Reporter: yestok, Assigned: mstange)

References

Details

(Keywords: regression)

Attachments

(3 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.32

Steps to reproduce:

Operating System Windows 10 Pro 64 and 32. Firefox 46.0.1 My long website  https://yestok.pl/lbo/y34.php (HTML 4) and https://yestok.pl/test/y34html5.php (HTML5) are displayed incorrectly.


Actual results:

This pages does not display correctly at end of the articles. If several illustrations (or all) will not be shown then the page displays correctly. I rearranged around 30 pages and the problem appeared only on this one page. In other browsers such as Edge, Opera, and Chrome all is correct. 

My further observations suggest that the problem stems from the height of the <body> object. After crossing the numerical value corresponding to a two-byte number (about 32,000) appears the problem. Artificially increased the one of the parties so as to exceed the size and the effect appeared. Global reducing the size of the font restores the correct display.
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
@reporter,
Could you paste "Graphics" section of about:support?
Flags: needinfo?(yestok)
[Tracking Requested - why for this release]: web layout is broken due to regression

I can reproduce the problem if HWA is disabled.

Regression window:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=50116088c244&tochange=fd797f07d0db

Regressed by: Bug 1000875
Blocks: 1000875
Status: UNCONFIRMED → NEW
Component: Untriaged → Graphics
Ever confirmed: true
Flags: needinfo?(yestok) → needinfo?(mstange)
Keywords: regression
This page has a repeating-linear-gradient as a fixed background image, so this sounds like bug 1011166 all over again.
Assignee: nobody → mstange
Flags: needinfo?(mstange)
(In reply to Alice0775 White from comment #1)
> @reporter,
> Could you paste "Graphics" section of about:support?
I have only Polish version this section.

Grafika (Graphic)
Asynchroniczne przewijanie/powiększanie:	brak
Asynchronic scroll/zoom: none  

Data sterownika:	3-11-2013

GPU #2 Active:	false

ID dostawcy:	0x8086

ID podsystemu:	2e321849

ID urządzenia:	0x2e32

Okna ze sprzętowym przyspieszeniem grafiki:	1/1 Direct3D 11 WARP (OMTC)

Opis adaptera:	Intel(R) G41 Express Chipset (Microsoft Corporation - WDDM 1.1)

Parametry ClearType:	Gamma: 1800 Pixel Structure: R ClearType Level: 0 Enhanced Contrast: 300

RAM adaptera:	Unknown

Renderer WebGL:	Google Inc. -- ANGLE (Intel(R) G41 Express Chipset (Microsoft Corporation - WDDM 1.1)      Direct3D9Ex vs_3_0 ps_3_0)

Sprzętowe dekodowanie H.264:	No; Hardware video decoding disabled or blacklisted

Sterowniki adaptera:	igdumd64 igd10umd64 igdumd32 igd10umd32

Wersja sterownika:	8.15.10.2702

windowLayerManagerRemote:	true

Włączone Direct2D:	Zablokowane dla zainstalowanej karty graficznej z powodu nierozwiązanych problemów ze sterownikiem. (Blocked for the installed graphics card because of unresolved problems with the controller.)

Włączone DirectWrite:	false (10.0.10586.0)

AzureCanvasBackend:	skia

AzureContentBackend:	cairo

AzureFallbackCanvasBackend:	cairo

AzureSkiaAccelerated:	0
Markus is right. This is the effect of background-image in long documents. I turned off the property on this site.
But the problem still exists, because in all other browsers is O.K.

Jerzy
Regression from Firefox 32. We are unlikely to fix this in 46 or 47. Tracking for 48/49 in hopes this is something we can fix and maybe uplift.
While this is a regression in ESR as well, it doesn't fit the criteria for landing in ESR (major stability or security issue fixes, or major feature regressions for early ESR cycles)
Attached file for the record
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #6)
> Regression from Firefox 32. We are unlikely to fix this in 46 or 47.
> Tracking for 48/49 in hopes this is something we can fix and maybe uplift.

Actually this is not correct.

In the release channel, Regressed since Firefox33, not Firefox32.
The gradient on this website had, the float values of xdim and ydim were
about 7500, which is definitely representable by 16.16 fixed point values.
But the matrix had a large (> 32000) translation on it.

Review commit: https://reviewboard.mozilla.org/r/51721/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/51721/
Attachment #8750971 - Flags: review?(jmuizelaar)
Attachment #8750971 - Flags: review?(jmuizelaar)
Comment on attachment 8750971 [details]
MozReview Request: Bug 1271112 - Check transformed gradient end points for fixed point overflow, not the size of the gradient. r?jrmuizel

https://reviewboard.mozilla.org/r/51721/#review48855

::: gfx/cairo/cairo/src/cairo-image-surface.c:1147
(Diff revision 1)
> -	    _cairo_fixed_integer_ceil (ydim) > PIXMAN_MAX_INT)
> +	y0 = _cairo_fixed_to_double (linear->p1.y);
> +	x1 = _cairo_fixed_to_double (linear->p2.x);
> +	y1 = _cairo_fixed_to_double (linear->p2.y);
> +	cairo_matrix_transform_point(&matrix, &x0, &y0);
> +	cairo_matrix_transform_point(&matrix, &x1, &y1);
> +	maxabs = ceil (max (max (fabs (x0), fabs (x1)), max (fabs (y0), fabs (y1))));

You should be able to drop the ceil()
Comment on attachment 8750971 [details]
MozReview Request: Bug 1271112 - Check transformed gradient end points for fixed point overflow, not the size of the gradient. r?jrmuizel

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51721/diff/1-2/
Attachment #8750971 - Flags: review?(jmuizelaar)
Comment on attachment 8750971 [details]
MozReview Request: Bug 1271112 - Check transformed gradient end points for fixed point overflow, not the size of the gradient. r?jrmuizel

https://reviewboard.mozilla.org/r/51721/#review49203
Attachment #8750971 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8750971 [details]
MozReview Request: Bug 1271112 - Check transformed gradient end points for fixed point overflow, not the size of the gradient. r?jrmuizel

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51721/diff/2-3/
https://hg.mozilla.org/mozilla-central/rev/7dc6e306d3a4
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
Comment on attachment 8750971 [details]
MozReview Request: Bug 1271112 - Check transformed gradient end points for fixed point overflow, not the size of the gradient. r?jrmuizel

Approval Request Comment
[Feature/regressing bug #]: long-standing issue with painting large gradients on certain platforms (unaccelerated Windows, Linux), made worse by bug 1000875.
[User impact if declined]: missing gradient backgrounds on long pages, overlapping text
[Describe test coverage new/current, TreeHerder]: this patch adds a test
[Risks and why]: low, just uses existing fallback in more cases
[String/UUID change made/needed]: none
Attachment #8750971 - Flags: approval-mozilla-aurora?
Comment on attachment 8750971 [details]
MozReview Request: Bug 1271112 - Check transformed gradient end points for fixed point overflow, not the size of the gradient. r?jrmuizel

Fix a long standing issue, taking it
Attachment #8750971 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.