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

8472 Коммитов

Автор SHA1 Сообщение Дата
Delan Azabani b00311bc4f Bug 1630935 - Refactor FontFamilyName + FontFamilyList + nsMathMLChar. r=emilio
This patch:

* extracts family name matching logic from FontFamilyList::Contains into FontFamilyName::IsNamedFamily
* simplifies the loop around StretchEnumContext::EnumCallback using a range-based loop with a break
* inverts the meaning of StretchEnumContext::EnumCallback’s return value

These changes were first reviewed in D73833, but we’re separating them to help us investigate some test regressions.

Differential Revision: https://phabricator.services.mozilla.com/D77067
2020-06-04 13:18:21 +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
Cameron McCormack a7bdc6a410 Bug 1639698 - Ensure that the first text run that triggers a font load has its drawing skipped if needed. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D77578
2020-06-01 10:04:36 +00:00
Stephen A Pohl fbcafaf7ae Bug 1543813: Minor refactor of macOS color picker. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D71043
2020-05-19 17:27:42 +00:00
Razvan Maries 749be00108 Backed out 2 changesets (bug 1543813) for assertion failures. CLOSED TREE
Backed out changeset 868982681ab3 (bug 1543813)
Backed out changeset c9b75701fcee (bug 1543813)
2020-05-28 03:17:13 +03:00
Stephen A Pohl bb9d5ca840 Bug 1543813: Minor refactor of macOS color picker. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D71043
2020-05-19 17:27:42 +00:00
Erik Nordin b077117ab0 Bug 1637437 - Recompute backdrop-filter only when WebRender changes r=jrmuizel
- Add a gfxVarReceiver for nsCSSProps.
  - Recompute backdrop-filter state when notifying receivers for WebRender.
  - Remove NS_NewRunableFunction calls when we know we're on main thread.
  - Add assertion that recompute enabled state is called from main thread.

Differential Revision: https://phabricator.services.mozilla.com/D74975
2020-05-27 19:53:05 +00:00
Emilio Cobos Álvarez 54fd961a29 Bug 1641245 - Make string comparators not virtual. r=froydnj,necko-reviewers,geckoview-reviewers,jgilbert,agi,valentin
There's no use case for stateful comparators, so they can be just plain
function pointers.

This is used in some hot places like CSS selector matching.

Differential Revision: https://phabricator.services.mozilla.com/D77084
2020-05-27 18:11:12 +00:00
Lee Salzman a3cd8b98e4 Bug 1640401 - pass in IDWriteFont for all UnscaledFontDWrites that are not data fonts. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D76943
2020-05-26 22:30:17 +00:00
Andrew Osmond 532a41fd80 Bug 1639574 - Disable color management for CSS due to issues with canvas. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D76859
2020-05-26 21:20:18 +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
Lee Salzman 163f753f85 Bug 1640401 - allow unknown font types to sanitize for WR. r=jrmuizel
WR may be sanitizing more fonts than just downloadable webfonts (any for
which we couldn't generate a descriptor), so we need to be more permissive
about what font types we allow that the content process would normally skip.

Differential Revision: https://phabricator.services.mozilla.com/D76608
2020-05-23 23:56:41 +00:00
Jonathan Kew 6cb63be4a2 Bug 1640293 - Remove EARLY_BETA_OR_EARLIER conditional, so that word-cache expiration is enabled for all builds. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D76553
2020-05-22 21:52:27 +00:00
Lee Salzman 5510bd146f Bug 1639563 - fix GCC internal compiler error. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D76508
2020-05-22 16:53:29 +00:00
Lee Salzman e97b3d4035 Bug 1639563 - sanitize WR fonts. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D76360
2020-05-22 15:48:55 +00:00
Lee Salzman 96e684e365 Bug 1639563 - factor out gfxOTSContext into reusable header file. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D76358
2020-05-22 04:47:44 +00:00
Bogdan Tara 107fbafd77 Backed out 2 changesets (bug 1639563) for gfx related bustages CLOSED TREE
DONTBUILD
Backed out changeset b2c8de065886 (bug 1639563)
Backed out changeset 43abf0a9602a (bug 1639563)
2020-05-22 06:55:28 +03:00
Lee Salzman 91d6189dd9 Bug 1639563 - sanitize WR fonts. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D76360
2020-05-21 23:30:02 +00:00
Lee Salzman 0cdb66e17e Bug 1639563 - factor out gfxOTSContext into reusable header file. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D76358
2020-05-21 21:12:37 +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 df9f4c005e Bug 1638478 - Try to resolve Script=Common runs to a specific script for shaping purposes based on the ScriptExtensions property. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D75744
2020-05-19 14:30:20 +00:00
Glenn Watson de2845e48f Bug 1635610 - Enable per scroll root picture cache slices by default. r=jrmuizel,aosmond
Part 1 of this patch enables subpixel AA in more cases when there
are multiple picture cache slices. Because of this, we can enable
extra picture cache slices by default, as a performance win for
the general case.

Users who want to force subpixel AA in more cases, at the cost of
performance can manually set the about:config value called
gfx.webrender.quality.force-subpixel-aa-where-possible.

Differential Revision: https://phabricator.services.mozilla.com/D75465
2020-05-16 03:09:57 +00:00
Aaron Klotz 51e92c23de Bug 1637452: Part 14 - Fix JNI includes in gfx; r=gfx-reviewers,jrmuizel
In this bug we're moving away from monolithic JNI headers to class-specific
headers so that we don't have to rebuild the world every time we make a change
to a JNI interface.

Differential Revision: https://phabricator.services.mozilla.com/D75377
2020-05-15 17:05:59 +00:00
Jonathan Kew 8b54700f47 Bug 1627296 - Remove the ForceFontUpdate hack from gfxDWriteFonts, the gfxPlatform calls in SystemTextQualityChanged should be sufficient to flush everything. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D75351
2020-05-15 13:55:11 +00:00
Jonathan Kew 5c024c640b Bug 1637405 - Merge PUA characters with Script=Unknown with the surrounding script run during itemization (just like Script=Common). r=jrmuizel
If the script itemizer interrupts runs on encountering Script=Unknown, the PUA character will
be shaped separately from its context and therefore OpenType features cannot take effect.
Allowing characters with Script=Unknown to be "adopted" into the surrounding run  makes glyph
shaping possible, where a font wants to apply OpenType features such as ligation, kerning,
or diacritic positioning between a PUA codepoint and the adjacent non-PUA characters.

Differential Revision: https://phabricator.services.mozilla.com/D75067
2020-05-15 13:28:54 +00:00
Kartikaya Gupta e4338bab1c Bug 1622360 - Downgrade mStateManagers. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74185
2020-05-11 20:07:43 +00:00
Sylvestre Ledru 1929dd1ab3 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D73347
2020-05-09 14:51:53 +00:00
Kartikaya Gupta 688791ad90 Bug 1630912. Add a simple way to observe vsync on the mainthread. r=jrmuizel
I had to mess with the refcounting of Display (and hence destructors) because we create a NewRunnableMethod inside Display that holds a pointer to |this|. There are versions of NewRunnableMethod that don't take a ref but I'm not sure of the lifetime of Display, so easier to just take a ref since several of the subclasses are already refcounted.

Differential Revision: https://phabricator.services.mozilla.com/D71303
2020-05-08 23:19:31 +00:00
Jean-Yves Avenard 912e294406 Bug 1634253 - P6. Remove MessageLoop use from gfx. r=kats,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D73825
2020-05-08 20:20:44 +00:00
Narcis Beleuzu 58a833221c Backed out 9 changesets (bug 1634253) for bc failures on browser_bug295977_autoscroll_overflow.js . CLOSED TREE
Backed out changeset d41b75c1f7ec (bug 1634253)
Backed out changeset 5f8a1ee17b81 (bug 1634253)
Backed out changeset 43eda078b405 (bug 1634253)
Backed out changeset e98212a74709 (bug 1634253)
Backed out changeset 855e222ceb14 (bug 1634253)
Backed out changeset 9f01acdf4367 (bug 1634253)
Backed out changeset ea62cb1ec472 (bug 1634253)
Backed out changeset fa3e7588e7d6 (bug 1634253)
Backed out changeset 139e7035e736 (bug 1634253)
2020-05-08 23:09:31 +03:00
Jean-Yves Avenard f304da03ac Bug 1634253 - P6. Remove MessageLoop use from gfx. r=kats,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D73825
2020-05-07 08:04:53 +00:00
Jonathan Kew f7f1b28b77 Bug 1634670 - Fonts bundled with the application should be treated as part of the base font set, not as user-installed fonts. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D73437
2020-05-08 09:25:37 +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
Jonathan Kew 480e9d033f Bug 1634677 - patch 2 - Ensure mCodepointsWithNoFonts is cleared if the font visibility pref changes. r=jwatt
Depends on D73441

Differential Revision: https://phabricator.services.mozilla.com/D74042
2020-05-07 21:10:59 +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 1a413b21f7 Bug 1632738 - Hide the Gill Sans family on Windows if it contains only Ultra Bold faces. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D72629
2020-05-08 08:41:03 +00:00
Erik Nordin f10166a614 Bug 1635584 - Make BackdropFilter's Availability Depend on WebRender r=emilio
- Enable BackdropFilter pref by default
  - Add function IsBackdropFilterAavailable()
  - Use IsBackdropFilterAvailable for relevant WebIDL instead of pref
  - Add test for BackdropFilter availability

Differential Revision: https://phabricator.services.mozilla.com/D73967
2020-05-08 05:54:26 +00:00
Makoto Kato 87b65f5492 Bug 633109 - Use system font iterator APIs if Andorid API 29+. r=jfkthame
Android API 29 or later has font matcher and system font API that is for
accessing font data from native code.

Although Android's Default fonts are installed `/system/fonts`, some vendors
also install some fonts in another directories.

Example, Pixel 2's fonts are installed in `/system/fonts` and `/product/fonts`.

Differential Revision: https://phabricator.services.mozilla.com/D70533
2020-05-07 11:03:08 +00:00
Razvan Maries d52f7a898c Backed out 2 changesets (bug 1635584) for build bustages. CLOSED TREE
Backed out changeset 059ed60f23bf (bug 1635584)
Backed out changeset 876b8f443cca (bug 1635584)
2020-05-08 00:47:31 +03:00
Erik Nordin 3cd3cc6820 Bug 1635584 - Make BackdropFilter's Availability Depend on WebRender r=emilio
- Enable BackdropFilter pref by default
  - Add function IsBackdropFilterAavailable()
  - Use IsBackdropFilterAvailable for relevant WebIDL instead of pref
  - Add test for BackdropFilter availability

Differential Revision: https://phabricator.services.mozilla.com/D73967
2020-05-06 23:47:06 +00:00
Dorel Luca 9340fa2b2d Backed out 11 changesets (bug 1635001, bug 1634253) for Browser-chrome failures in browser_bug295977_autoscroll_overflow.js
Backed out changeset c3c27cb46db6 (bug 1635001)
Backed out changeset 6cea251e5910 (bug 1635001)
Backed out changeset 3cb0a05be7fc (bug 1635001)
Backed out changeset 1cbb2866a3ad (bug 1634253)
Backed out changeset 53fd00dcf95c (bug 1634253)
Backed out changeset e3acd9db7065 (bug 1634253)
Backed out changeset 5c0b7aa99406 (bug 1634253)
Backed out changeset dc7e17f772be (bug 1634253)
Backed out changeset 6e47af64396a (bug 1634253)
Backed out changeset 8865de9ae0ef (bug 1634253)
Backed out changeset 6fac93b596c2 (bug 1634253)
2020-05-07 11:00:04 +03:00
Jean-Yves Avenard 96d7622823 Bug 1634253 - P6. Remove MessageLoop use from gfx. r=kats,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D73825
2020-05-07 05:03:42 +00:00
Chris Martin 06d9dd2b05 Bug 1400317 - Use gfxVars to mirror DWM status to content processes r=jrmuizel
The only caveat here is that gfxVars are not atomic, but multiple threads can
query DWM status. To solve this, changes to the var are mirrored into an atomic
and that is read instead.

DWM status changes are indicated by Windows via a window message. We use that
window message to cause the update to propagate

Differential Revision: https://phabricator.services.mozilla.com/D73743
2020-05-06 14:16:21 +00:00
Chris Martin 1093edd76c Bug 1400317 - Create single source of truth for DWM status r=jrmuizel
Currently, There are multiple places that call the Win32 APIs for DWM status.

Once Win32k lockdown is enabled, this API will be unavailable and will need
to be remoted. This new function will be made to work in both parent and
content processes, and therefore all DWM queries must be directed to it.

Also, some minor cleanup because... Why not?

Differential Revision: https://phabricator.services.mozilla.com/D73742
2020-05-06 14:15:58 +00:00
Simon Giesecke ea61234b3c Bug 1626570 - Improve handling of copying arrays in gfx/thebes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D72345
2020-05-05 10:56:14 +00:00
Razvan Maries 2632be905a Backed out 6 changesets (bug 1630912) for build bustages on gfxAndroidPlatform.cpp. CLOSED TREE
Backed out changeset 21dc02bc12b9 (bug 1630912)
Backed out changeset 08a6a1f1c4c7 (bug 1630912)
Backed out changeset 108b1a07929b (bug 1630912)
Backed out changeset e202ddeb4e40 (bug 1630912)
Backed out changeset f7d9852a3d09 (bug 1630912)
Backed out changeset e6cd2ceab183 (bug 1630912)
2020-05-05 09:04:37 +03:00
Kartikaya Gupta 7908209483 Bug 1630912. Add a simple way to observe vsync on the mainthread. r=jrmuizel
I had to mess with the refcounting of Display (and hence destructors) because we create a NewRunnableMethod inside Display that holds a pointer to |this|. There are versions of NewRunnableMethod that don't take a ref but I'm not sure of the lifetime of Display, so easier to just take a ref since several of the subclasses are already refcounted.

Differential Revision: https://phabricator.services.mozilla.com/D71303
2020-05-01 23:32:30 +00:00
Andrew Osmond f5baf0eea6 Bug 1632259 - Refactor WebRender configuration logic in gfxPlatform to be testable. r=jrmuizel
We have encountered issues when rolling out WebRender because the
configuration logic is quite complicated. It would serve us well to have
it in a form that we can easily test. This patch does said refactor, as
well as adds an initial set of tests.

Differential Revision: https://phabricator.services.mozilla.com/D72027
2020-05-04 01:01:53 +00:00
Simon Giesecke d62827d0da Bug 1628692 - Fix FallibleTArray handling in gfxContext::CurrentDash. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D71576
2020-04-29 08:58:36 +00:00
Jonathan Kew b51adde34b Bug 1633354 - Fix visibility attribute for language-pack fonts on windows. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D72609
2020-04-27 14:38:04 +00:00