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

93 Коммитов

Автор SHA1 Сообщение Дата
Myk Melez 917428e84b Bug 1375978 - enumerate fonts asynchronously; r=jfkthame,nhnt11 2017-09-12 11:05:37 -07: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
Jonathan Kew 2e91c61468 Bug 1377328 - part 2 - Annotate raw pointers used for refcounted objects in font-related code. r=milan 2017-06-29 17:52:43 -07: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
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
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
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
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
John Daggett cb1a460415 Bug 1244017 - remove system font cascade for OSX. r=m_kato 2016-02-08 15:26:50 +09:00
Carsten "Tomcat" Book c797ca6392 Backed out changeset 0e3ca319b742 (bug 1244017) for reftest failures 2016-02-05 11:19:25 +01:00
John Daggett debbbb10f6 Bug 1244017 - remove system font cascade for OSX. r=m_kato 2016-02-05 16:46:05 +09:00
Nicholas Nethercote ac9a8bf77c Bug 1181444 (part 1.5) - Remove dead PLDHashOperator declarations. r=froydnj.
--HG--
extra : rebase_source : 82888ad8037a6024508b042030469fac5a8f5fa4
2016-01-28 14:08:19 -08:00
John Daggett bbaa509596 Bug 1212731 p2 - add system font cascade to fontlist for -apple-system generic. r=m_kato 2016-01-15 16:33:51 +09: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
John Daggett f4458274bd Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-19 11:16:43 +09:00
Phil Ringnalda adfbc1f710 Back out 2 changesets (bug 543715) because Mulet is why we can't have nice things
Backed out changeset 2d1d8e9b095c (bug 543715)
Backed out changeset bc90276ec090 (bug 543715)
2015-10-18 11:22:22 -07:00
John Daggett 72b6bcd6d6 Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-18 22:17:46 +09: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
John Daggett 1b7d8ac5fd Bug 1201318 - revise OSX system font handling. r=mstange
Rework system font lookup under OSX so that the style system passes around the same "meta" name used by Webkit, -apple-system. This makes it so that the hidden system fonts used aren't exposed to authors. It also allows us to handle the two optical sizes of font families used under OSX 10.11, which uses San Francisco as the new UI font, with one family for text sizes and another for larger, display sizes. The patch here:

  - moves system font lookup into gfxMacPlatformFontList
  - assigns the font family name to "-apple-system"
  - derives FindFamily to take a gfxFontStyle parameter to allow size-based lookups
  - maintains a list of hidden system font families (not exposed to authors)
  - maintains a mapping from -apple-system to the underlying hidden font families
2015-10-08 15:04:08 +09:00
John Daggett 84f181826e Bug 1182361 p7 - fixups based on review comments. r=heycam 2015-09-29 10:51:29 +09:00
John Daggett 06a6d26415 Bug 1182361 p6 - eliminate old pref font caching. r=heycam 2015-09-29 10:51:29 +09:00
John Daggett 6e5f907544 Bug 1182361 p5 - cache pref fonts per langGroup. r=heycam 2015-09-29 10:51:29 +09:00
John Daggett 72bb57d48b Bug 1182361 p4 - move pref font util methods to platform fontlist. r=heycam 2015-09-29 10:51:28 +09:00
John Daggett f2ee55e64a Bug 1182361 p3 - move generic lookup methods to platform fontlist. r=heycam 2015-09-29 10:51:28 +09:00
Sotaro Ikeda ba3b3090fd Bug 1187145 - Replace nsBaseHashtable::Enumerate() calls in gfx/ with iterators r=njn 2015-09-24 08:31:30 -07:00
Nicholas Nethercote 3e45a7cea0 Bug 1189156 (part 5) - Add FontEntryTable typedef and factor out some related code. r=jfkthame.
--HG--
extra : rebase_source : 4943f681f5c88d39b3ab97340b95b124d9ec4f92
2015-08-04 18:05:19 -07:00
John Daggett ac07166426 Bug 1189129 - annotate no default font aborts. r=bas 2015-08-05 11:03:41 +09:00
Nicholas Nethercote d98d14fa1e Bug 1189156 (part 4) - Don't use enumeration style for nsBaseHashtable::SizeOf{In,Ex}cludingThis(). r=erahm,jfkthame.
After this change, we have ShallowSizeOf{In,Ex}cludingThis(), which don't do
anything to measure children. (They can be combined with iteration to measure
children.)

--HG--
extra : rebase_source : f98420176f50990bbc5a25e35788328154cfeb00
2015-07-30 21:19:57 -07:00
Nicholas Nethercote fea58e7707 Bug 1189156 (part 3) - Factor out FontTable better. r=jfkthame.
--HG--
extra : rebase_source : 696db4f6384229336966ca86fa47faaf21382f1e
2015-07-30 21:15:16 -07:00
Nicholas Nethercote cf08b5a956 Bug 1182962 (part 3) - Use nsTHashtable::Iterator in gfxPlatformFontList. r=jdaggett. 2015-07-13 19:08:31 -07:00
John Daggett 07a0c560a7 Bug 1056479 p2 - implement platform fontlist based on fontconfig. r=karlt
This patch implements a derived class of gfxPlatformFontList and a set of associated objects that uses fontconfig. It's a replacement for the existing gfxPangoFontGroup and gfxFontconfigUtils code. The fontconfig API is used to lookup all fonts on the system, which are grouped by family name.

Changes due to this patch:
- font style matching, the mapping of style attributes to a specific font, is now handled by the same Gecko code that is used on other plaforms. fontconfig substitutions are handled but fontconfig style matching no longer used.
- downloadable fonts using unicode-range are now supported
- local fullname lookups are only done with the English name of the font, as per the CSS3 Fonts spec, and not only other localized fullnames
- size-specific bitmap fonts are no longer supported
- fonts lacking a Unicode character map are no longer supported
2015-05-13 14:11:25 +09:00
John Daggett 96e7e032af Bug 1056479 p1 - add language to FindFamily parameters. r=jfkthame 2015-05-13 14:11:25 +09:00
Carsten "Tomcat" Book 5cb40c508e Backed out changeset 8bd3335d77d2 (bug 1056479) 2015-05-12 12:21:20 +02:00
Carsten "Tomcat" Book f21bf9d148 Backed out changeset 1223b73d62dc (bug 1056479) 2015-05-12 12:21:09 +02:00
John Daggett da0662d19f Bug 1056479 p2 - implement platform fontlist based on fontconfig. r=karlt
This patch implements a derived class of gfxPlatformFontList and a set of associated objects that uses fontconfig. It's a replacement for the existing gfxPangoFontGroup and gfxFontconfigUtils code. The fontconfig API is used to lookup all fonts on the system, which are grouped by family name.

Changes due to this patch:
- font style matching, the mapping of style attributes to a specific font, is now handled by the same Gecko code that is used on other plaforms. fontconfig substitutions are handled but fontconfig style matching no longer used.
- downloadable fonts using unicode-range are now supported
- local fullname lookups are only done with the English name of the font, as per the CSS3 Fonts spec, and not only other localized fullnames
- size-specific bitmap fonts are no longer supported
- fonts lacking a Unicode character map are no longer supported
2015-05-12 17:44:16 +09:00
John Daggett 57707b75bd Bug 1056479 p1 - add language to FindFamily parameters. r=jfkthame 2015-05-12 17:44:10 +09:00
Carsten "Tomcat" Book 1cc8234416 Backed out 10 changesets (bug 1056479) for bustage on a CLOSED TREE
Backed out changeset d5b1f2b78915 (bug 1056479)
Backed out changeset bcc65b714dd6 (bug 1056479)
Backed out changeset 0b35e8a463d2 (bug 1056479)
Backed out changeset 0933391809c9 (bug 1056479)
Backed out changeset 93bd67204fac (bug 1056479)
Backed out changeset 5260b93eb0b9 (bug 1056479)
Backed out changeset 130bea3f8623 (bug 1056479)
Backed out changeset 408e078cc18d (bug 1056479)
Backed out changeset a651c240979d (bug 1056479)
Backed out changeset d74ae8fcaac9 (bug 1056479)
2015-05-12 08:25:19 +02:00
John Daggett f2d632a4ef Bug 1056479 p2 - implement platform fontlist based on fontconfig. r=karlt
This patch implements a derived class of gfxPlatformFontList and a set of associated objects that uses fontconfig. It's a replacement for the existing gfxPangoFontGroup and gfxFontconfigUtils code. The fontconfig API is used to lookup all fonts on the system, which are grouped by family name.

Changes due to this patch:
- font style matching, the mapping of style attributes to a specific font, is now handled by the same Gecko code that is used on other plaforms. fontconfig substitutions are handled but fontconfig style matching no longer used.
- downloadable fonts using unicode-range are now supported
- local fullname lookups are only done with the English name of the font, as per the CSS3 Fonts spec, and not only other localized fullnames
- size-specific bitmap fonts are no longer supported
- fonts lacking a Unicode character map are no longer supported
2015-05-12 14:51:17 +09:00
John Daggett 6386b5b827 Bug 1056479 p1 - add language to FindFamily parameters. r=jfkthame 2015-05-12 14:51:17 +09:00
Mike Hommey 924c9eb636 Bug 1134923 - Remove NS_Alloc/NS_Realloc/NS_Free. r=nfroyd
They are kept around for the sake of the standalone glue, which is used
for e.g. webapprt, which doesn't have direct access to jemalloc, and thus
still needs a wrapper to go through the xpcom function list and get to
jemalloc from there.
2015-05-01 09:40:30 +09:00