Граф коммитов

211 Коммитов

Автор SHA1 Сообщение Дата
Dan Minor 522eefbe31 Bug 1719554 - Unify unicode::Script as intl::Script; r=platform-i18n-reviewers,gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D132278
2021-12-06 18:15:50 +00:00
Butkovits Atila 56c46d06a1 Backed out 3 changesets (bug 1719554) for causing bustages complaining about gfxTextRun.cpp.
Backed out changeset 6181e40d4da1 (bug 1719554)
Backed out changeset c261ede6ae81 (bug 1719554)
Backed out changeset 221ec418475c (bug 1719554)
2021-12-04 00:58:15 +02:00
Dan Minor 30ad309163 Bug 1719554 - Unify unicode::Script as intl::Script; r=platform-i18n-reviewers,gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D132278
2021-12-03 20:49:32 +00:00
Jonathan Kew bfa1d70def Bug 1715501 - patch 2 - Pass the presContext to platform font lookup methods so they can query it for font visibility. r=emilio
This does not in itself change user-visible behavior, but is a foundation for bug
1715507 where we will make the behavior per-context instead of global. This is basically
just plumbing, passing a pointer to the presContext that's asking for fonts to be
resolved all the way down to the gfx code that handles the font list and looks up
fonts.

For the immediate goal of making font visibility work per-context, it would be
sufficient to pass the desired visibility level in to the font-selection methods.
However, passing the actual presContext down (and not just its visibility level)
will enable us to report back via the dev console when a font is blocked (see bug
1715537), so the approach here provides the basis for that upcoming enhancement.

Depends on D124194

Differential Revision: https://phabricator.services.mozilla.com/D124195
2021-09-08 12:18:17 +00:00
Jonathan Kew 99dbfb0c56 Bug 1715501 - patch 1 - Track codepoints with no available fonts and replacement-char family separately for each font-visibility level. r=emilio
This does not change existing behavior, but will be required once font visibility
is no longer simply a global setting. The data cached in these members depends on
the font visibility level, so currently we just flush it if the visibility pref is
modified. But in future we may be using multiple levels at the same time (in
separate contexts), so we want to maintain separate per-level caches here.

Differential Revision: https://phabricator.services.mozilla.com/D124194
2021-09-08 12:18:17 +00:00
Cristian Tuns 9e1718d5a5 Backed out 4 changesets (bug 1715537, bug 1715507, bug 1715501) for causing mochitest failures on test_bug418986-2.html. CLOSED TREE
Backed out changeset fff777ea5637 (bug 1715537)
Backed out changeset 240308eb514d (bug 1715507)
Backed out changeset e3f8526e0e2a (bug 1715501)
Backed out changeset cfdd1c5d8d3f (bug 1715501)
2021-09-08 07:48:51 -04:00
Jonathan Kew 20585f15c0 Bug 1715501 - patch 2 - Pass the presContext to platform font lookup methods so they can query it for font visibility. r=emilio
This does not in itself change user-visible behavior, but is a foundation for bug
1715507 where we will make the behavior per-context instead of global. This is basically
just plumbing, passing a pointer to the presContext that's asking for fonts to be
resolved all the way down to the gfx code that handles the font list and looks up
fonts.

For the immediate goal of making font visibility work per-context, it would be
sufficient to pass the desired visibility level in to the font-selection methods.
However, passing the actual presContext down (and not just its visibility level)
will enable us to report back via the dev console when a font is blocked (see bug
1715537), so the approach here provides the basis for that upcoming enhancement.

Depends on D124194

Differential Revision: https://phabricator.services.mozilla.com/D124195
2021-09-08 09:35:17 +00:00
Jonathan Kew ffc9bc9fe0 Bug 1715501 - patch 1 - Track codepoints with no available fonts and replacement-char family separately for each font-visibility level. r=emilio
This does not change existing behavior, but will be required once font visibility
is no longer simply a global setting. The data cached in these members depends on
the font visibility level, so currently we just flush it if the visibility pref is
modified. But in future we may be using multiple levels at the same time (in
separate contexts), so we want to maintain separate per-level caches here.

Differential Revision: https://phabricator.services.mozilla.com/D124194
2021-09-08 09:35:16 +00:00
Jonathan Kew c7fdc790cc Bug 1725297 - Remove expiring font telemetry probes. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D124051
2021-08-31 13:48:51 +00:00
Emilio Cobos Álvarez cfca657d9c Bug 1722487 - Avoid some work for font list updates. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D123363
2021-08-26 23:17:54 +00:00
Jonathan Kew da11a216cc Bug 1724421 - Use template argument deduction to simplify callsites when checking the standard font-family visibility lists. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D122003
2021-08-06 14:06:53 +00:00
Emilio Cobos Álvarez fb069248c0 Bug 1716045 - Unify font-family storage. r=mats,jfkthame
This changes font-family storage to reuse the rust types, removing a
bunch of code while at it. This allows us to, for example, use a single
static font family for -moz-bullet and clone it, rather than creating a
lot of expensive copies.

Differential Revision: https://phabricator.services.mozilla.com/D118011
2021-06-18 19:35:50 +00:00
Jonathan Kew c840efe013 Bug 1712165 - Reorder conditions to avoid a possible race between the InitFontList thread and main thread accessing gfxPlatformFontList. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D115690
2021-05-21 16:39:17 +00:00
Jonathan Kew cf297d803f Bug 1708768 - Make InitFontList safe to call off-main-thread on macOS, and run font-list initialization on a separate thread during startup. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D115295
2021-05-18 11:10:43 +00:00
Jonathan Kew 137c757143 Bug 1708768 - Create a pref to defer gfxPlatformFontList initialization until first use, and enable this on macOS. r=lsalzman
This gives the RegisterFonts thread more time to complete its work, so that
the main thread doesn't have to wait for it in InitFontList.

In the worst case, where the registration thread still hasn't finished
by the time we call gfxPlatformFontList::PlatformFontList() the first time,
it's still no worse than previously, it just reorders some of the work
that has to be done before we can render any content.

Depends on D114863

Differential Revision: https://phabricator.services.mozilla.com/D114865
2021-05-18 11:10:43 +00:00
Jonathan Kew 18310539bf Bug 1708768 - Preliminary cleanup of gfxPlatformFontList creation/initialization code; no functional change. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114863
2021-05-18 11:10:42 +00:00
Iulian Moraru b6ba6af634 Backed out 3 changesets (bug 1708768) for causing font related crashes (bug 1711332). a=backout DONTBUILD
Backed out changeset fa037550d6e8 (bug 1708768)
Backed out changeset 10b30c8d4b86 (bug 1708768)
Backed out changeset c03c7df7cd61 (bug 1708768)
2021-05-16 11:46:34 +03:00
Jonathan Kew 0e23ebf8cd Bug 1708768 - Create a pref to defer gfxPlatformFontList initialization until first use, and enable this on macOS. r=lsalzman
This gives the RegisterFonts thread more time to complete its work, so that
the main thread doesn't have to wait for it in InitFontList.

In the worst case, where the registration thread still hasn't finished
by the time we call gfxPlatformFontList::PlatformFontList() the first time,
it's still no worse than previously, it just reorders some of the work
that has to be done before we can render any content.

Differential Revision: https://phabricator.services.mozilla.com/D114865
2021-05-14 18:05:44 +00:00
Jonathan Kew 11b9b22a55 Bug 1708768 - Preliminary cleanup of gfxPlatformFontList creation/initialization code; no functional change. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114863
2021-05-14 18:05:44 +00:00
Jonathan Kew 83fcb74e81 Bug 1704812 - Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld
Differential Revision: https://phabricator.services.mozilla.com/D112666
2021-05-13 14:30:09 +00:00
Csoregi Natalia 1697facf08 Backed out changeset 221d5494188c (bug 1704812) for thread sanitizer issues in SharedFontList. DONTBUILD CLOSED TREE 2021-05-13 15:16:00 +03:00
Jonathan Kew 0ba5a52a62 Bug 1704812 - Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld
Differential Revision: https://phabricator.services.mozilla.com/D112666
2021-05-13 11:45:48 +00:00
Csoregi Natalia ba272367cd Backed out changeset 80c9125cfac0 (bug 1704812) for assertion failures on gfxPlatformFontList.cpp. CLOSED TREE 2021-05-13 12:26:03 +03:00
Jonathan Kew 40e823046b Bug 1704812 - Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld
Differential Revision: https://phabricator.services.mozilla.com/D112666
2021-05-13 08:57:42 +00:00
Simon Giesecke cafe2c9d00 Bug 708901 - Migrate to nsTHashSet in gfx/thebes. r=jfkthame,jrmuizel
Depends on D108602

Differential Revision: https://phabricator.services.mozilla.com/D108603
2021-03-23 10:36:36 +00:00
Simon Giesecke ad01a10a3b Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin
Note that this patch only transforms the use of the nsDataHashtable type alias
to a directly equivalent use of nsTHashMap. It does not change the specification
of the hash key type to make use of the key class deduction that nsTHashMap
allows for in some cases. That can be done in a separate step, but requires more
attention.

Differential Revision: https://phabricator.services.mozilla.com/D106008
2021-03-10 10:47:47 +00:00
Jonathan Kew 809ac36608 Bug 1676966 - Don't block layout on global font fallback; load character maps asynchronously, and then reflow when available. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D98904
2020-12-31 00:33:48 +00:00
Cosmin Sabou 74039caf3c Backed out changeset 345d6be71db1 (bug 1676966) for mochitest without e10s failures. CLOSED TREE 2020-12-30 15:36:10 +02:00
Jonathan Kew c19e845492 Bug 1676966 - Don't block layout on global font fallback; load character maps asynchronously, and then reflow when available. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D98904
2020-12-30 12:34:49 +00:00
Mihai Alexandru Michis d50d8d795e Backed out changeset 52eb1fa54b88 (bug 1676966) for causing mochitest failures in AsyncCompositionManager.cpp 2020-12-30 00:16:44 +02:00
Jonathan Kew 12c934e612 Bug 1676966 - Don't block layout on global font fallback; load character maps asynchronously, and then reflow when available. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D98904
2020-12-29 16:03:45 +00:00
Razvan Maries 0cb7aac5bd Backed out changeset 4a6818e6c81a (bug 1676966) for perma failures on AsyncCompositionManager.cpp. CLOSED TREE 2020-12-29 04:06:23 +02:00
Jonathan Kew 9e08463270 Bug 1676966 - Don't block layout on global font fallback; load character maps asynchronously, and then reflow when available. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D98904
2020-12-28 13:15:02 +00:00
Jonathan Kew 73688b3c3d Bug 1669855 - Return a boolean from InitOtherFamilyNames to indicate whether the initialization is complete. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D96393
2020-12-26 17:11:44 +00:00
Jonathan Kew 16eb1dba68 Bug 1674340 - Separate out language from gfxFontStyle and pass it separately to shaping processes that need it. r=lsalzman
This allows us to avoid instantiating separate gfxFont objects when content is tagged
with different 'lang' attributes, yet ends up using the same fonts (e.g. Wikipedia may
use a default font such as Arial for language names/links that are tagged with several
dozen different languages).

Differential Revision: https://phabricator.services.mozilla.com/D96978
2020-11-13 13:15:39 +00:00
Jonathan Kew 979b9d807c Bug 1661247 - Implement a LocalizedFamilyName method in the shared font-list, to enable proper localized font name display in the Preferences dialog on Windows. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D91564
2020-10-14 12:49:37 +00:00
Jonathan Kew 3c2cb7fd1a Bug 1371386 - Take account of requirements for emoji-style or text-style presentation during font selection & fallback. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87304
2020-08-26 09:31:58 +00:00
Mihai Alexandru Michis b162701621 Backed out changeset 0cad1ef724ee (bug 1371386) for causing failures in emoji-fallback-3.html
CLOSED TREE
2020-08-24 21:02:10 +03:00
Jonathan Kew ba87878325 Bug 1371386 - Take account of requirements for emoji-style or text-style presentation during font selection & fallback. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87304
2020-08-24 14:24:12 +00:00
Jonathan Kew 7ff5ba6276 Bug 1651368 - Using an explicit font whitelist overrides font visibility-level. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D86530
2020-08-13 11:40:02 +00:00
Jonathan Kew eb8be4d270 Bug 1648355 - When doing a global font fallback search, load cmaps eagerly in the parent process. r=jwatt
This reduces IPC traffic, and avoids the (severe) impact of file access interception
and proxying by the sandbox on DirectWrite in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D83240
2020-07-22 21:12:11 +00:00
Jonathan Kew 4fc6d8448e Bug 1654501 - Add assertions to confirm the font family lists are properly sorted. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D84730
2020-07-26 11:08:50 +00:00
Coroiu Cristina 39ef681feb Backed out 2 changesets (bug 1654501) for assertion failures at gfxPlatformFontList.cpp
Backed out changeset cb233beadbe1 (bug 1654501)
Backed out changeset 1fe3b54b7095 (bug 1654501)
2020-07-26 13:53:23 +03:00
Jonathan Kew 56b38c0de2 Bug 1654501 - Add assertions to confirm the font family lists are properly sorted. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D84730
2020-07-26 09:31:26 +00:00
Kartikaya Gupta f3ff31626e Bug 1647225 - Fix some comments. r=jrmuizel,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D80449
2020-06-23 15:21:36 +00:00
Narcis Beleuzu 1f50773a6e Backed out 8 changesets (bug 1647225) for xpcshell failures on test_gfxBlacklist_Version.js CLOSED TREE
Backed out changeset b6f88195da61 (bug 1647225)
Backed out changeset a5b3f54cb5f2 (bug 1647225)
Backed out changeset 6a1025189b0e (bug 1647225)
Backed out changeset b95de94b444e (bug 1647225)
Backed out changeset ed2c7dfd8373 (bug 1647225)
Backed out changeset 1adc99494bcb (bug 1647225)
Backed out changeset 5d0cf22c335a (bug 1647225)
Backed out changeset 956b43a8636f (bug 1647225)
2020-06-23 04:34:12 +03:00
Kartikaya Gupta 015478ec51 Bug 1647225 - Fix some comments. r=jrmuizel,geckoview-reviewers,agi
Depends on D80448

Differential Revision: https://phabricator.services.mozilla.com/D80449
2020-06-22 22:54:00 +00:00
Jonathan Kew 58d58635f7 Bug 1640119 - Pass shared-memory blocks for the font list as part of SetXPCOMProcessAttributes. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D76507
2020-05-26 09:30:17 +00:00
Jonathan Kew 86391e9948 Bug 1588418 - Ensure font entries for src:local faces are flushed when the fontlist is rebuilt. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D76304
2020-05-21 13:18:06 +00:00
Jonathan Kew c4e8c700da Bug 1634677 - patch 3 - Collect telemetry for cases where platform font fallback wanted to use a font that is blocked from visibility to CSS. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D74043
2020-05-08 08:58:08 +00:00