Stop searching font families in GlobalFontFallback once we've found a match

RESOLVED FIXED in Firefox 68

Status

()

enhancement
P3
normal
RESOLVED FIXED
3 months ago
3 months ago

People

(Reporter: jfkthame, Assigned: jfkthame)

Tracking

unspecified
mozilla68
Points:
---

Firefox Tracking Flags

(firefox68 fixed)

Details

Attachments

(1 attachment)

Assignee

Description

3 months ago

In gfxPlatformFontList::GlobalFontFallback, used as a last resort if we've failed to find a font for a given character in the font-family list, or using preferences or known "common fallbacks", we search all the installed font families for a face that supports the character.

We check the "style distance" between the requested properties (font-weight, -style, -stretch) and the available faces so as to pick the best match we can from the font family. But currently we always scan all the installed families, which is wasteful: if we've found a face where the font matching properties are a perfect match, there's no point in looking further.

Comment 2

3 months ago
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c78ae1f1f538
Bail out of font-family search in GlobalFontFallback once we've found a font with an exact style match. r=jwatt

Backed out changeset c78ae1f1f538 (Bug 1534693) for unexpected item fuzzy-if Android in reftest.list

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=234664994&revision=c78ae1f1f5386d4c978df4895478d3a7d9c1f5eb

Backout link: https://hg.mozilla.org/integration/autoland/rev/0f2bb770f3acf22333e843dc8e60d761dc3158ed

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=234664994&repo=autoland&lineNumber=1420

[task 2019-03-18T23:18:17.908Z] 23:18:17 INFO - REFTEST INFO | Reading manifest http://10.0.2.2:8854/tests/layout/reftests/reftest.list
[task 2019-03-18T23:18:17.908Z] 23:18:17 INFO - REFTEST INFO | Dumping JSON representation of sandbox
[task 2019-03-18T23:18:17.910Z] 23:18:17 INFO - REFTEST INFO | {"isDebugBuild":false,"xulRuntime":{"widgetToolkit":"android","OS":"Android","XPCOMABI":"arm-eabi-gcc3"},"smallScreen":false,"d2d":false,"dwrite":false,"gpuProcess":false,"azureCairo":false,"azureSkia":true,"skiaContent":true,"azureSkiaGL":false,"contentSameGfxBackendAsCanvas":true,"layersGPUAccelerated":true,"d3d11":false,"d3d9":false,"layersOpenGL":true,"webrender":false,"layersOMTC":true,"advancedLayers":false,"layerChecksEnabled":true,"retainedDisplayList":false,"Android":true,"cocoaWidget":false,"gtkWidget":false,"qtWidget":false,"winWidget":false,"is64Bit":false,"transparentScrollbars":false,"AndroidVersion":18,"AddressSanitizer":false,"webrtc":true,"retainedDisplayLists":false,"compareRetainedDisplayLists":false,"skiaPdf":false,"release_or_beta":false,"http":{"userAgent":"Mozilla/5.0 (Android 4.3.1; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0","appName":"Mozilla","appVersion":"5.0","platform":"Android 4.3.1","oscpu":"Linux armv7l","misc":"rv:68.0"},"haveTestPlugin":false,"windowsDefaultTheme":false,"nativeThemePref":false,"gpuProcessForceEnabled":false,"prefs":{},"browserIsRemote":false,"asyncPan":true,"usesRepeatResampling":false,"verify":false,"serviceWorkerE10s":false}
[task 2019-03-18T23:18:28.122Z] 23:18:28 INFO - REFTEST INFO | Skipping included manifest at http://10.0.2.2:8854/tests/image/test/reftest/reftest.list line 23 due to matching skip condition
[task 2019-03-18T23:18:28.123Z] 23:18:28 INFO - REFTEST INFO | Skipping included manifest at http://10.0.2.2:8854/tests/image/test/reftest/reftest.list line 26 due to matching skip condition
[task 2019-03-18T23:18:28.124Z] 23:18:28 INFO - REFTEST INFO | Skipping included manifest at http://10.0.2.2:8854/tests/image/test/reftest/reftest.list line 47 due to matching skip condition
[task 2019-03-18T23:18:48.958Z] 23:18:48 INFO - REFTEST ERROR | EXCEPTION: Error in manifest file http://10.0.2.2:8854/tests/layout/reftests/bidi/reftest.list line 172: unexpected item fuzzy-if(Android,207,32)
[task 2019-03-18T23:25:29.842Z] 23:25:29 INFO - wait for org.mozilla.fennec_aurora complete; top activity=org.mozilla.fennec_aurora
[task 2019-03-18T23:25:30.146Z] 23:25:30 INFO - org.mozilla.fennec_aurora unexpectedly found running. Killing...
[task 2019-03-18T23:25:30.147Z] 23:25:30 INFO - REFTEST TEST-INFO | started process screentopng
[task 2019-03-18T23:25:30.492Z] 23:25:30 INFO - REFTEST TEST-INFO | screentopng: exit 0
[task 2019-03-18T23:25:45.141Z] 23:25:45 WARNING - TEST-UNEXPECTED-FAIL | remoteautomation.py | application timed out after 370 seconds with no output
[task 2019-03-18T23:25:45.142Z] 23:25:45 INFO - remoteautomation.py | Application ran for: 0:08:10.824250
[task 2019-03-18T23:25:45.858Z] 23:25:45 INFO - REFTEST INFO | Downloading symbols from: https://queue.taskcluster.net/v1/task/MRqmEe9oS-6ei1ZyPkr6Gg/artifacts/public/build/target.crashreporter-symbols.zip
[task 2019-03-18T23:25:49.288Z] 23:25:49 INFO - REFTEST INFO | Copy/paste: /builds/worker/workspace/build/linux64-minidump_stackwalk /tmp/tmpC6IATj/6e7f7133-c616-5757-33af-091905b97417.dmp /tmp/tmpX0sV_l
[task 2019-03-18T23:25:57.344Z] 23:25:57 INFO - REFTEST INFO | Saved minidump as /builds/worker/workspace/build/blobber_upload_dir/6e7f7133-c616-5757-33af-091905b97417.dmp
[task 2019-03-18T23:25:57.344Z] 23:25:57 INFO - REFTEST INFO | Saved app info as /builds/worker/workspace/build/blobber_upload_dir/6e7f7133-c616-5757-33af-091905b97417.extra
[task 2019-03-18T23:25:57.348Z] 23:25:57 INFO - REFTEST PROCESS-CRASH | remoteautomation.py | application crashed [@ libc.so + 0x1c3dc]
[task 2019-03-18T23:25:57.348Z] 23:25:57 INFO - Crash dump filename: /tmp/tmpC6IATj/6e7f7133-c616-5757-33af-091905b97417.dmp
[task 2019-03-18T23:25:57.348Z] 23:25:57 INFO - Operating system: Android

Flags: needinfo?(jfkthame)

Comment 4

3 months ago
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/93d061fd45de
Bail out of font-family search in GlobalFontFallback once we've found a font with an exact style match. r=jwatt

Comment 5

3 months ago
bugherder
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Assignee

Updated

3 months ago
Flags: needinfo?(jfkthame)
You need to log in before you can comment on or make changes to this bug.