New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 913057 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 7
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Big emojis are in the wrong position

Reported by rebe...@monometric.net, Dec 7

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36

Example URL:

Steps to reproduce the problem:
1. Open the attached file in Chrome 71
2. Observe the problem

What is the expected behavior?
Two emojis are rendered next to each other (assuming the browser window is big enough).

What went wrong?
The second emoji is rendered in the top left of the screen such that only part of it is visible (see test.png). Its containing element is still in the correct position.
Only emojis with a font size of 325 pixel or higher are affected. Emojis with a lower font size are rendered correctly (see the first emoji).

Positioning, margin, or padding affect the element but not the wrongly rendered emoji.

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? Yes 70

Does this work in other browsers? Yes

Chrome version: 71.0.3578.80  Channel: stable
OS Version: OS X 10.14.0
Flash Version: 

Emojis are rendered correctly in current Firefox and Safari.
 
test.html
168 bytes View Download
test.png
79.2 KB View Download
Labels: Needs-Bisect Needs-Triage-M71
Cc: swarnasree.mukkala@chromium.org
Components: UI>Browser>Emoji
Labels: -Needs-Bisect Triaged-ET Target-73 M-73 FoundIn-71 FoundIn-70 FoundIn-73 FoundIn-72 OS-Linux OS-Windows
Able to reproduce the issue on the reported chrome version #71.0.3578.80, latest chrome #73.0.3635.0 using Windows 10, Ubuntu 17.10 and Mac 10.14 by following steps as per comment#0.

The issue is seen from M-65(65.0.3324.0). This is a non-regression issue, hence marking it as untraiged and requesting someone from the dev team to look into the issue.
Note: Prior to this chrome version, the emoji's are not getting displayed.
Thanks.!
Status: Untriaged (was: Unconfirmed)
Components: -Blink Blink>Layout
Components: -Blink>Layout -UI>Browser>Emoji Blink>Fonts>Emoji
Owner: drott@chromium.org
Status: Assigned (was: Untriaged)
Cc: bunge...@chromium.org
Ben, does that sound familiar? 
Cc: herb@chromium.org jvanverth@chromium.org
324 is a cutoff point for some decisions on how to handle glyphs on the gpu side (kDefaultMaxDistanceFieldFontSize). It's possible these glyphs are just being drawn in the wrong position in this particular case.
It is believed this was fixed with https://skia-review.googlesource.com/c/skia/+/173430 , but that should have been in 73.0.3635.0 (this fix would only be in 73 at this point).
I can reproduce with 71.0.3578.0, with 73.0.3639.0 the positions seem correct, but there are now other issues with the rendering. Investigating.
Cc: -bunge...@chromium.org drott@chromium.org
Owner: bunge...@chromium.org
Thank you for looking into it, Ben!

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 14

Labels: merge-merged-m72
The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/50cb3c54708e832e479facc4c9a446178d89b6a6

commit 50cb3c54708e832e479facc4c9a446178d89b6a6
Author: Ben Wagner <bungeman@google.com>
Date: Fri Dec 14 21:04:19 2018

Position color glyphs correctly in path fallback.

This is a simpler version of dfd9c79566306f86bd2c69b0bba9a448f158da2d.

Bug:  chromium:913057 
Change-Id: I25daaa85ba30e56c4dfb1fc678cad4c31eda2764
Reviewed-on: https://skia-review.googlesource.com/c/177802
Reviewed-by: Herb Derby <herb@google.com>

[modify] https://crrev.com/50cb3c54708e832e479facc4c9a446178d89b6a6/src/core/SkGlyphRunPainter.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 17

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/5f7b014f2923d2a8a86d23633713ba45087dac47

commit 5f7b014f2923d2a8a86d23633713ba45087dac47
Author: Herb Derby <herb@google.com>
Date: Mon Dec 17 16:21:39 2018

Only reposition the fallback vertices once.

We were shifting the verticies for the fallback subrun
twice when using paths to render. Once in regenerate,
and once using MapPoints.

BUG= chromium:913057 

Change-Id: I4d2e977b0edbec22cbd57c45fe47c959d172908f
Reviewed-on: https://skia-review.googlesource.com/c/177920
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>

[modify] https://crrev.com/5f7b014f2923d2a8a86d23633713ba45087dac47/src/gpu/text/GrTextBlob.h
[modify] https://crrev.com/5f7b014f2923d2a8a86d23633713ba45087dac47/src/gpu/text/GrTextBlob.cpp
[modify] https://crrev.com/5f7b014f2923d2a8a86d23633713ba45087dac47/gm/scaledemoji.cpp

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f62f2ebe2862d52007e435494afe89d10fda4854

commit f62f2ebe2862d52007e435494afe89d10fda4854
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Tue Dec 18 00:19:25 2018

Roll src/third_party/skia 90295c73d0c1..99e1709ef559 (25 commits)

https://skia.googlesource.com/skia.git/+log/90295c73d0c1..99e1709ef559


git log 90295c73d0c1..99e1709ef559 --date=short --no-merges --format='%ad %ae %s'
2018-12-17 robertphillips@google.com Fix recording multiple DDLs from a single DDL Recorder
2018-12-17 kjlubick@google.com [canvaskit] Add Path2D to Canvas API
2018-12-17 recipe-roller@chromium.org Roll recipe dependencies (trivial).
2018-12-17 herb@google.com Use SkFont in getOrCreateCache for RemoteGlyphCache
2018-12-17 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/angle2 4622905b30d1..5a8d0bc2884b (1 commits)
2018-12-17 bsalomon@google.com Add new DM via, "ddl2" which records/draws DDLs for each test twice.
2018-12-17 jvanverth@google.com Revert "Reland Reland "Remove use of integers for atlas indexing""
2018-12-17 mtklein@google.com bump NDK packages to r19-beta2
2018-12-17 benjaminwagner@google.com [infra] Do not retry xSAN and Valgrind failures
2018-12-17 halcanary@google.com gm: Fix eror in textToGlyphs/getXPos
2018-12-17 herb@google.com Use SkFont and SkScalerContextEffects for creating SkScalerContext instead of SkPaint
2018-12-17 recipe-roller@chromium.org Roll recipe dependencies (trivial).
2018-12-17 halcanary@google.com FuzzCanvas: do textToglyphs right
2018-12-17 herb@google.com SkFont pushed up one small step for setupCache
2018-12-17 kjlubick@google.com Prevent exponential growth of 'nice' paths when fuzzing
2018-12-17 halcanary@google.com Test-SKQP: stop checking for success
2018-12-17 kjlubick@google.com [canvaskit] Add files needed for npm release
2018-12-17 caryclark@skia.org fix fuzz assert
2018-12-17 kjlubick@google.com [canvaskit] Performance tuning of GL calls
2018-12-17 halcanary@google.com SkPDF: fix bitmap type3 glyphs.
2018-12-17 herb@google.com Only reposition the fallback vertices once.
2018-12-17 mtklein@google.com remove old docs
2018-12-17 mtklein@google.com templatize NEON SkBitmapProcState_matrixProcs
2018-12-17 michaelludwig@google.com Decal fallback for SkImageShader
2018-12-17 scroggo@google.com Update Robocop docs for skia-android-triage


Created with:
  gclient setdep -r src/third_party/skia@99e1709ef559

The AutoRoll server is located here: https://autoroll.skia.org/r/skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux-blink-rel;luci.chromium.try:linux-chromeos-compile-dbg;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:913057 
TBR=halcanary@chromium.org

Change-Id: I15d8ba36bd918b5782f1cfabd90beb1b5333c0fe
Reviewed-on: https://chromium-review.googlesource.com/c/1380655
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#617306}
[modify] https://crrev.com/f62f2ebe2862d52007e435494afe89d10fda4854/DEPS

Status: Fixed (was: Assigned)
The positioning issue brought up in this report has been fixed and backported to M72 since it was essentially a typo.

This exposes an additional rendering issue where the color glyph may not be completely drawn, which has been fixed in M73. Due to timing and this being a more involved fix, it is unlikely that this rendering issue will be fixed in M72.

Sign in to add a comment