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

33 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew 72f3b67c66 Bug 1648356 - Don't crash the parent process we fail to share font-list blocks while launching a child; the content process will safely handle this by requesting blocks as needed. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D81338
2020-06-26 21:25:25 +00:00
Jonathan Kew 52874b4df6 Bug 1645587 - Add missing null-check for family in FontList::SetLocalNames, in case font families are blocked by the font whitelist or visibility prefs. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D79595
2020-06-14 13:08:21 +00:00
Jonathan Kew 556989ec22 Bug 1644285 - Use descriptor rather than index (which might change) to record font face in local-names InitData record on Linux. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D79192
2020-06-12 12:07:05 +00:00
Jonathan Kew 26a8e4ceec Bug 1640816 - Record base font-family name in family alias records. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D77909
2020-06-04 11:48:46 +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 a16705e745 Bug 1634677 - patch 1 - Add a pref to control visibility of different categories of installed font families. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D73441
2020-05-07 21:10:46 +00:00
Jonathan Kew 9e55a4c27a Bug 1550037 - patch 3 - Remove mAddr from the ShmBlock struct, as mShmem->memory() is now a trivial inline accessor. r=jwatt
In mozilla::ipc::SharedMemory, the memory() method was virtual, so we cached the address here
(although the compiler would likely have inlined the accessor as the `final` concrete subclass
was known). Anyhow, in base::SharedMemory it's a trivial (non-virtual) accessor, so there's
no sense in shadowing it here.

Differential Revision: https://phabricator.services.mozilla.com/D68789

--HG--
extra : moz-landing-system : lando
2020-04-07 12:30:42 +00:00
Jonathan Kew c43ebd1186 Bug 1550037 - patch 2 - Ensure the font-list memory blocks passed to content processes are shared as readonly copies. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D68779

--HG--
extra : moz-landing-system : lando
2020-04-07 12:30:30 +00:00
Jonathan Kew 715e096b9a Bug 1550037 - patch 1 - Migrate shared font-list code from mozilla::ipc::SharedMemoryBasic to base::SharedMemory APIs. r=jwatt
The base::SharedMemory class provides APIs to create a "read-only" copy of a shared memory block,
which means it can be shared to a child process without the risk that the child might map it as
writable and corrupt the contents. We want to use this facility for the font list, hence switching
the shared-memory APIs used.

Differential Revision: https://phabricator.services.mozilla.com/D68778

--HG--
extra : moz-landing-system : lando
2020-04-07 12:30:17 +00:00
Mihai Alexandru Michis 5da80eeda9 Backed out 3 changesets (bug 1550037) for causing bustages in SharedFontList-impl.h
CLOSED TREE

Backed out changeset 34ebd6260867 (bug 1550037)
Backed out changeset 7571e5bc19e7 (bug 1550037)
Backed out changeset 71fdead8eecb (bug 1550037)
2020-04-07 13:11:17 +03:00
Jonathan Kew a7a8713b2b Bug 1550037 - patch 3 - Remove mAddr from the ShmBlock struct, as mShmem->memory() is now a trivial inline accessor. r=jwatt
In mozilla::ipc::SharedMemory, the memory() method was virtual, so we cached the address here
(although the compiler would likely have inlined the accessor as the `final` concrete subclass
was known). Anyhow, in base::SharedMemory it's a trivial (non-virtual) accessor, so there's
no sense in shadowing it here.

Differential Revision: https://phabricator.services.mozilla.com/D68789

--HG--
extra : moz-landing-system : lando
2020-04-07 09:24:32 +00:00
Jonathan Kew 68661385f7 Bug 1550037 - patch 2 - Ensure the font-list memory blocks passed to content processes are shared as readonly copies. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D68779

--HG--
extra : moz-landing-system : lando
2020-04-07 09:24:30 +00:00
Jonathan Kew 1bf1c749a5 Bug 1550037 - patch 1 - Migrate shared font-list code from mozilla::ipc::SharedMemoryBasic to base::SharedMemory APIs. r=jwatt
The base::SharedMemory class provides APIs to create a "read-only" copy of a shared memory block,
which means it can be shared to a child process without the risk that the child might map it as
writable and corrupt the contents. We want to use this facility for the font list, hence switching
the shared-memory APIs used.

Differential Revision: https://phabricator.services.mozilla.com/D68778

--HG--
extra : moz-landing-system : lando
2020-04-07 09:23:24 +00:00
Jonathan Kew 1e295dc3cc Bug 1619350 - patch 1 - Add a FontVisibility enumeration to determine whether fonts should be visible by name to CSS, and provide a visibility field in font family records. r=jwatt
This replaces and extends the "hidden" flag we currently use on macOS to mark internal system fonts
like .LastResort and .Keyboard that should not be exposed; rather than just a boolean "hidden" flag
we'll have several levels of visibility, some of which the user may opt in to exposing (at the cost
of potentially becoming more fingerprintable).

The current patch assumes three levels besides always-hidden:

  Base     - fonts that are part of the base OS install and always available
  LangPack - fonts that are provided by the OS subject to user's chosen language options
  User     - user-installed fonts that were not provided by the OS

(This categorization may be subject to revision as we learn more about real-world needs and
configurations.)

Differential Revision: https://phabricator.services.mozilla.com/D66124

--HG--
extra : moz-landing-system : lando
2020-04-02 12:36:24 +00:00
Ciure Andrei e1cb0f1e21 Backed out 4 changesets (bug 1619349, bug 1619350) for causing test_font_whitelist.html to fail CLOSED TREE
Backed out changeset ba16b09b5da0 (bug 1619349)
Backed out changeset f8ca02252dfc (bug 1619349)
Backed out changeset 01a2a527aa1a (bug 1619350)
Backed out changeset 67ee13868a44 (bug 1619350)
2020-04-02 04:34:31 +03:00
Jonathan Kew 503dffb1e0 Bug 1619350 - patch 1 - Add a FontVisibility enumeration to determine whether fonts should be visible by name to CSS, and provide a visibility field in font family records. r=jwatt
This replaces and extends the "hidden" flag we currently use on macOS to mark internal system fonts
like .LastResort and .Keyboard that should not be exposed; rather than just a boolean "hidden" flag
we'll have several levels of visibility, some of which the user may opt in to exposing (at the cost
of potentially becoming more fingerprintable).

The current patch assumes three levels besides always-hidden:

  Base     - fonts that are part of the base OS install and always available
  LangPack - fonts that are provided by the OS subject to user's chosen language options
  User     - user-installed fonts that were not provided by the OS

(This categorization may be subject to revision as we learn more about real-world needs and
configurations.)

Differential Revision: https://phabricator.services.mozilla.com/D66124

--HG--
extra : moz-landing-system : lando
2020-03-26 18:39:43 +00:00
Jonathan Kew 7267cf1347 Bug 1616798 - Ensure SetCharMapRunnable holds a reference to the charmap. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D63461

--HG--
extra : moz-landing-system : lando
2020-02-23 12:15:00 +00:00
Jonathan Kew bc43d9263d Bug 1616193 - If Face::SetCharacterMap is called from a stylo thread, make it post a runnable instead of attempting to do IPC itself. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D63210

--HG--
extra : moz-landing-system : lando
2020-02-19 11:28:07 +00:00
Jonathan Kew 13eb9e858a Bug 1608124 - Skip hidden macOS font families in FontList::FindFamily, except when resolving system fonts. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D59358

--HG--
extra : moz-landing-system : lando
2020-01-10 08:58:47 +00:00
Narcis Beleuzu 1e5d31d0d9 Backed out changeset aea131093cd1 (bug 1608124) for assertion failures on StaticPrefList_gfx.h. CLOSED TREE 2020-01-10 03:19:43 +02:00
Jonathan Kew 976c9365de Bug 1608124 - Skip hidden macOS font families in FontList::FindFamily, except when resolving system fonts. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D59358

--HG--
extra : moz-landing-system : lando
2020-01-09 19:11:10 +00:00
Jonathan Kew d762d6259d Bug 1576846 - Fix the content-process's use of mAliasTable to temporarily record alternate font family names on Windows. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D43746

--HG--
extra : moz-landing-system : lando
2019-08-30 13:14:26 +00:00
Jonathan Kew 5d233316c7 Bug 1565966 - part 3 - On Windows, make the shared font-list family lookup aware of how DWrite may have stripped a trailing component from the font-family name it exposes. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D41244

--HG--
extra : moz-landing-system : lando
2019-08-12 17:49:42 +00:00
Jonathan Kew 135c7c99a8 Bug 1565966 - part 2 - Include Family attributes in mAliasTable when collecting font-name aliases, so that fontEntry instantiation on Windows can work correctly for the Aliases eventually stored in the font-list. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D41243

--HG--
extra : moz-landing-system : lando
2019-08-12 17:49:28 +00:00
Jonathan Kew f2b7b9146f Bug 1565966 - part 1 - Normalize font family names to lowercase in mAliasTable, for consistency with eventual font-family lookups. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D41242

--HG--
extra : moz-landing-system : lando
2019-08-12 17:49:09 +00:00
Jonathan Kew 4c97ee3830 Bug 1554819 - Add a couple of missing null-checks in SharedFontList.cpp. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D34158

--HG--
extra : moz-landing-system : lando
2019-06-11 12:10:24 +00:00
Sylvestre Ledru d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D30883

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
arthur.iakab af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D30883

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
Jonathan Kew 64c9983c83 Bug 1514869 - patch 8 - Make the SetCharacterMap message async, and use the unshared gfxCharacterMap in the content process until the shared one is in place. r=jwatt,jld
Differential Revision: https://phabricator.services.mozilla.com/D24137

--HG--
extra : moz-landing-system : lando
2019-04-29 14:39:05 +00:00
Jonathan Kew 0bd1dd8f7f Bug 1514869 - patch 7 - Check font families for "simple" set of faces, and mark the Family record appropriately so we can use simplified style-matching. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D23718

--HG--
extra : moz-landing-system : lando
2019-04-27 15:39:27 +00:00
Jonathan Kew 30d216df2a Bug 1514869 - patch 6 - Hook up SetupFamilyCharMap for shared font-list Family records, to accelerate last-ditch fallback searches. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D23355

--HG--
extra : moz-landing-system : lando
2019-04-27 15:39:26 +00:00
Jonathan Kew 9811ca8336 Bug 1514869 - patch 1 - Basic implementation of a cross-process sharable font list, using shared memory to store the list of families & faces, and per-font character maps. r=jwatt,jld
Differential Revision: https://phabricator.services.mozilla.com/D22937

--HG--
extra : moz-landing-system : lando
2019-04-27 15:37:29 +00:00