Closed Bug 1285263 Opened 3 years ago Closed 3 years ago

Parts of text are not displayed

Categories

(Core :: Graphics, defect)

50 Branch
Unspecified
All
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla50
Tracking Status
firefox50 + verified

People

(Reporter: roxana.leitan, Assigned: nical)

References

()

Details

(Keywords: regression)

Attachments

(2 files)

Attached image missing text.png
20160706030233 Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0

[Affected versions]:
Nightly 50.0a1 

[Steps to reproduce]:
1. Open FF with Clean Profile
2. Open page: https://imagej.nih.gov/ij/docs/pdfs/examples.pdf
3. Press F5 to reload the page

[Expected result]:
Page content is correctly displayed

[Actual result]:
Parts of text are not displayed

[Regression range]:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=57cf7cae92f1b234b763240a33f030fd68fc2166&tochange=56715a33b016d05afc2541e19fd7e0c907258971

[Additional notes]:
Reproducible also on Mac OS X 10.10
Removing the dependency on bug # 1282871 as this appears to be a rendering issue rather than an issue relating to the Family Safety root work under Win 8.1. The above regression range points to bugs that are related to rendering/canvas.
No longer depends on: 1282871
[Tracking Requested - why for this release]:
Blocks: 1167235
Component: PDF Viewer → Graphics
Flags: needinfo?(nical.bugzilla)
Flags: needinfo?(bas)
Keywords: regression
Product: Firefox → Core
OS: Windows → All
Tracking 50+ for this visual regression.
Assignee: nobody → nical.bugzilla
Flags: needinfo?(nical.bugzilla)
Duplicate of this bug: 1286456
Fix by the latest patches in bug 1167235. Please reopen if it reproduces again.
Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(bas)
Resolution: --- → FIXED
Actually, I can't reproduce this on an optimized build but I it still reproduces with a debug build, so there seem to be a timing thing to figure out still.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I can still reproduce the problem on Latest Nightly50.0a1[1].

[1]
https://hg.mozilla.org/mozilla-central/rev/0fbdcd21fad76a00328e67875c6f40dc219235f4
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0 ID:20160718030454
(In reply to Nicolas Silva [:nical] from comment #6)
> Actually, I can't reproduce this on an optimized build but I it still
> reproduces with a debug build, so there seem to be a timing thing to figure
> out still.

Note also the intermittent failure filed as bug 1284523, which I'm guessing may be the same underlying problem -- and its intermittent nature suggests timing may be involved.
The issue is caused by clips being saved or restored improperly (if I remove all clips the issue disappears) on the DrawTarget. Still digging...
Ha! Clips are affected by the current transform which means we have to restore them using the corresponding transform in the style-stack, and not the final transform.

If the succession of SetTransform calls happens to be expensive, we can think about maintaining a separate stack of clips manually transformed in the final transform when we return the DrawTarget, but I'd rather not add this kind of trickiness if we can avoid it.
Attachment #8772837 - Flags: review?(bas)
Attachment #8772837 - Flags: review?(bas) → review+
(In reply to Nicolas Silva [:nical] from comment #10)
> Created attachment 8772837 [details] [diff] [review]
> Use the proper transform when restoring clips
> 
> Ha! Clips are affected by the current transform which means we have to
> restore them using the corresponding transform in the style-stack, and not
> the final transform.
> 
> If the succession of SetTransform calls happens to be expensive, we can
> think about maintaining a separate stack of clips manually transformed in
> the final transform when we return the DrawTarget, but I'd rather not add
> this kind of trickiness if we can avoid it.

Good catch, quite a stupid mistake. Pretty sure I wrote that code. Can you add a test?
Pushed by nsilva@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/fff92b2a76ec
Restore clips with the proper transform when in CanvasRenderingContext2D::EnsureTarget. r=bas
(In reply to Bas Schouten (:bas.schouten) from comment #11)
> Good catch, quite a stupid mistake. Pretty sure I wrote that code. Can you
> add a test?

Will do.
Duplicate of this bug: 1288333
https://hg.mozilla.org/mozilla-central/rev/fff92b2a76ec
Status: REOPENED → RESOLVED
Closed: 3 years ago3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
Duplicate of this bug: 1284523
Verified as fixed on Windows 10 and Mac OS X 10.10 on the latest Nightly 50.0a1(Build ID: 20160724030208) - Page content is correctly displayed
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.