Commit Graph

162 Commits

Author SHA1 Message Date
Ted Campbell
ce6621e562 Bug 1451878 - Add memory reporting for gfxDWriteFontFileLoader. r=lsalzman
MozReview-Commit-ID: 9EBXTiNfRrA
2018-04-06 12:44:07 -04:00
Zibi Braniecki
8264ecd92f Bug 1345957 - Update the use of LocaleService API in gfxPlatformFontList. r=jfkthame
MozReview-Commit-ID: Lj7H2DwlS91

--HG--
extra : rebase_source : 17e8304eb8d2d6640cd44816f1e3e825e26b57d4
2018-03-06 18:55:22 -08:00
Jonathan Kew
2c5f2dc22f Bug 1439937 - For font-matching reftests that test localized names, force the font-name loader to run eagerly so that we aren't dependent on how long the browser has been running. r=jrmuizel 2018-02-23 09:43:32 +00:00
Jonathan Kew
10215d3497 Bug 1440411 - Remove the obsolete gfx.font_loader.families_per_slice pref (no longer used by any code). r=jrmuizel 2018-02-22 20:55:39 +00:00
Makoto Kato
d60606ea88 Bug 1032671 - Part 2. Use font.name-list.emoji preference for emoji presenration. r=jfkthame
MozReview-Commit-ID: DbrGeXzCpNT

--HG--
extra : rebase_source : 2a824295ff9c89b243cf49675e4c5c54a7a7259d
2017-11-12 16:24:58 +09:00
Jonathan Kew
09faef79f5 Bug 1418724 - part 2 - Force reflow of all content when locale prefs change, so that we can pick up modifications to the preferred ordering of CJK fonts without requiring restart or page reload. r=m_kato 2017-11-21 11:02:20 +00:00
Jonathan Kew
6ac9fda68b Bug 1418724 - part 1 - Improve handling of default font prefs for CJK languages, to recognize a potential ordered list of preferred locales from the OS, not just a single selected locale. r=m_kato 2017-11-21 11:01:46 +00:00
Jonathan Kew
a889197da2 Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew
7036cc5f85 Backed out changesets 75e7f32c3365, eec946b59360, 72a6f5f3512c, ea8ee40ed426 (bug 1412090) for apparently breaking all system-installed fonts on some Linux systems. r=backout 2017-11-10 16:05:33 +00:00
Milan Sreckovic
7d3551d146 Bug 1281965 - Sometimes we don't want to add when searching for a family. r=jfkthame
--HG--
extra : rebase_source : c1b0ecc2cc221395947326c440e01cbb6b0044fc
2017-11-09 18:38:30 -05:00
Jonathan Kew
0ba9f9c57b Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew
3ea98ba522 Bug 1407114 - part 3 - Handle fallback from styled to regular face if necessary when checking the platform's common fallback fonts. r=jrmuizel 2017-10-23 22:31:57 +01:00
Jonathan Kew
bbbc9da9dd Bug 1407114 - part 1 - preliminary cleanup - Remove the (unused) runScript member from the GlobalFontMatch struct, and introduce gfxFontEntry::IsNormalStyle() helper method. r=jrmuizel 2017-10-28 13:21:38 +01:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Jonathan Kew
5f318d222b Bug 1334761 - Update ClearType usage at startup, and flush caches and reflow everything if it changes during the session. r=bas 2017-09-14 17:26:53 +01:00
Myk Melez
917428e84b Bug 1375978 - enumerate fonts asynchronously; r=jfkthame,nhnt11 2017-09-12 11:05:37 -07:00
Jonathan Kew
162dd2e4e1 Bug 1395061 - patch 4 - Refactor checks in the gfxPlatformFontList::GetFontList loop to use a single virtual method call instead of three separate calls. r=jrmuizel 2017-09-11 19:24:01 +01:00
Jonathan Kew
379ddad597 Bug 1395061 - patch 2 - Implement default gfxFontFamily::IsSymbolFontFamily, and provide override for GDI font backend. r=jrmuizel 2017-09-11 19:22:57 +01:00
Myk Melez
aa59a13010 Bug 1395061 - patch 1 - Refactor gfxFontEntry::SupportsLangGroup and MatchesGenericFamily into gfxFontFamily. r=jfkthame 2017-09-11 19:22:15 +01:00
Jonathan Kew
6ceb7d87f9 Bug 835204 - Accept styled font-family names as used in the legacy GDI model, for compatibility with content that assumes GDI-style font naming. r=heycam 2017-08-01 11:25:35 +01:00
JerryShih
fcec675802 Bug 1368531 - Put the task gfxPlatformFontList::InitOtherFamilyNames() into idle queue. r=jfkthame
Add a boolean value in FindFamily() to check if gecko needs to defer the
InitOtherFamilyNames() task into idle queue.

Add a new telemetry data FONTLIST_INITOTHERFAMILYNAMES_NO_DEFERRING for the
execution time of InitOtherFamilyNames() running regularly at main thread
instead of in idle queue.

MozReview-Commit-ID: A3YPDcHtXrX
2017-08-02 20:33:00 -04:00
Sebastian Hengst
c2b9c2c204 Backed out changeset e1d538cd1cf8 (bug 1368531) for bustage on Windows: 'gfxPlatformFontList::InitOtherFamilyNamesRunnable::Cancel': overriding virtual function differs from 'mozilla::CancelableRunnable::Cancel' only by calling convention. r=backout 2017-08-02 21:12:51 +02:00
JerryShih
0138441875 Bug 1368531 - Put the task gfxPlatformFontList::InitOtherFamilyNames() into idle queue. r=jfkthame
Add a boolean value in FindFamily() to check if gecko needs to defer the
InitOtherFamilyNames() task into idle queue.

Add a new telemetry data FONTLIST_INITOTHERFAMILYNAMES_NO_DEFERRING for the
execution time of InitOtherFamilyNames() running regularly at main thread
instead of in idle queue.

MozReview-Commit-ID: A3YPDcHtXrX
2017-08-01 01:07:00 -04:00
Nicholas Nethercote
72c884bf74 Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj.
--HG--
extra : rebase_source : d317b25be2ec21d1a60d25da3689e46cdce0b649
2017-07-31 14:28:48 +10:00
Jonathan Kew
e899441ccb Bug 1379444 - Use generic cmap-based font fallback if platform-specific code fails to find a usable font. r=lsalzman 2017-07-13 09:40:33 +01:00
Mats Palmgren
cfd3f9f9cf Bug 1371954 - Use RemoveEntry(EntryType*) rather than RemoveEntry(KeyType) to avoid an unnecesary hashtable lookup. r=froydnj
MozReview-Commit-ID: 10mB1SslmUm
2017-06-14 17:27:24 +02:00
Jonathan Kew
b1d22b8fd2 Bug 734008 - DeCOMtaminate nsILanguageAtomService, make it a non-refcounted singleton and clean up various call sites. r=m_kato 2015-04-03 21:39:23 +02:00
Jonathan Kew
21b1570eb8 Bug 1352977 - Factor out helpers to construct the names for generic- and language-dependent font/font-list preferences. r=masayuki 2017-04-12 11:32:19 +01:00
Manish Goregaokar
6be22491bd Bug 1341724 - Part 4: stylo: Make font metrics usage threadsafe; r=heycam
MozReview-Commit-ID: 3EqpUy09UuI
2017-04-10 17:06:19 +08:00
Masayuki Nakano
59a906fb1a Bug 1344990 part.3 Implement nsIFontEnumerator::GetDefaultFont() as returning first available font in font.name-list.* r=jfkthame
nsIFontEnumerator::GetDefaultFont() returns always nullptr.  However, it's used in font setting UI at creating drop down list of available fonts.  So, if we implement this as returning first available font of "font.name-list.*", it's what is the necessary UI for "default" font when "font.name.*" is empty string.

So, with this patch, the top item of font list becomes "Default (%s)" if there is available font.

MozReview-Commit-ID: cRU8gixgdF

--HG--
extra : rebase_source : beca7b7d2d423f08d35358fc84b731e817724835
2017-04-03 21:00:14 +09:00
Zibi Braniecki
910f934cab Bug 1348299 - Use both, OS locale and app locale when trying to test for potentially Japanese fonts. r=m_kato
MozReview-Commit-ID: 5Dtq1WplSML

--HG--
extra : rebase_source : bf9f9553dd7737c2c1ebdfbc3078304095bc23bc
2017-03-22 00:27:14 -07:00
Zibi Braniecki
f096c9aab9 Bug 1346674 - Migrate all uses of nsILocaleService::GetApplicationLocale to mozILocaleService::GetAppLocale. r=jfkthame
MozReview-Commit-ID: 2E7mj3yQnxB

--HG--
extra : rebase_source : 97ba5b1738b2f116ec75830ed1b23f279680035e
2017-03-12 20:39:22 -07:00
Tom Tromey
5f8f360823 Bug 1060419 - make log_print use Printf.h, r=froydnj
MozReview-Commit-ID: BIZ1GQEZ1vs

--HG--
extra : rebase_source : 2f1f0aa12493c44f352d9a7e8683e7bb72d2d75b
2016-12-15 20:16:31 -07:00
Arthur Edelstein
cdccbe2abb Bug 1121643 - Add "font.system.whitelist" pref to resist font-based fingerprinting. r=jfkthame 2016-08-23 00:06:07 +00:00
Nicholas Nethercote
c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
David Anderson
572069e3e9 Move D3D11 checking logic out of gfxWindowsPlatform. (bug 1282364 part 2, r=mattwoodrow)
--HG--
extra : rebase_source : df247cc5d03a111075eb4b201618dd957213d76f
2016-07-26 13:19:48 -07:00
Jonathan Kew
c60f6a1ae4 Bug 1266391 - Introduce an enum class mozilla::unicode::Script, and use this instead of bare integers to specify script codes for better type checking. r=masayuki 2016-04-21 18:58:59 +01:00
Jonathan Kew
28a9e2cf14 Bug 1265452 - Remove use of nsAutoPtr from gfx/thebes. r=jrmuizel 2016-04-15 20:45:37 +01:00
Jonathan Kew
0a9b1ea9b9 Bug 1245811 - part 1 (based on patch by Andrew Comminos) - Replace gfxPlatformFontList::FindFamily with FindAndAddFamilies to allow for the possibility of the implementation returning multiple font families (e.g. when fontconfig has 'prefer' aliases). r=karlt 2016-04-12 07:06:22 +01:00
Mason Chang
077e669bae Bug 1258778 - Purge the skia glyph cache when receiving a low memory notice. r=erahm 2016-03-23 11:17:02 -07:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
John Daggett
26be2bed4f Bug 1212731 p1 - move GetSampleLangForGroup into base class. r=m_kato 2016-01-15 16:33:51 +09:00
John Daggett
b788233f65 Bug 1213280 - fix OSX font selection under 10.11. r=jfkthame 2015-11-20 22:01:12 +09:00
John Daggett
fcabcac70e Bug 1163487 - sniff LANGUAGE when determining language for lang group. r=karlt 2015-11-17 11:39:58 +09:00
John Daggett
2402be3a35 Bug 1173260 - support multiple families for generics. r=heycam 2015-11-16 08:48:40 +09:00
Nathan Froyd
048d9143a0 Bug 1222569 - remove unused function from gfxPlatformFontList.cpp; r=Bas 2015-11-06 15:07:10 -05:00
Nicholas Nethercote
3d0821d5fd Bug 1219476 (part 5) - Replace PRLogModuleInfo usage with LazyLogModule in gfx/. r=erahm.
--HG--
extra : rebase_source : c39ecc84dbe9a0f94b42f1c78dabf346ce3a3b9e
2015-10-29 15:58:24 -07:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00