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

8988 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew bf3113343b Bug 1716841 - Update font-size-adjust keywords to match CSSWG resolution in csswg-drafts/#6288. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D118198
2021-07-07 11:58:40 +00:00
Jed Davis dc3ae62544 Bug 1635451 - Allow GLX to work in headless content processes. r=jgilbert
This follows what we're already doing for EGL: a refcounted object
which can own the X connection, where we hold a weak reference from
the library object so that multiple contexts opportunistically share
the display but we close the connection when the last context is
freed/GCed.

In a process where GTK is initialized, we borrow its display instead of
opening a new one, which preserves the existing behavior.

Differential Revision: https://phabricator.services.mozilla.com/D112195
2021-07-06 07:42:42 +00:00
Jonathan Kew b066854b29 Bug 1561868 - Give the RebuildFontList message a raised priority, so that it is processed ahead of Vsync. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D118846
2021-06-25 20:12:14 +00:00
Jonathan Kew a0abb0f180 Bug 1717595 - Ensure we check the fontgroup's validity before using it to build a textrun or otherwise access its cached font instances. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D118733
2021-06-25 10:14:17 +00:00
Jonathan Kew ae397ac3a1 Bug 1714754 - Always use DirectWrite to get glyph widths for variable fonts. r=lsalzman
This ensures we get the correct advances for the variation settings that are in use,
not just the font's "default" advances from the hmtx table.

(I'm sad there wasn't a testcase that detected this regression, so added one here.)

Differential Revision: https://phabricator.services.mozilla.com/D118571
2021-06-23 15:54:55 +00:00
Mike Hommey 744db845c6 Bug 1700534 - Coalesce RLBox wasmboxed libraries. r=firefox-build-system-reviewers,shravanrn,bholley,andi,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D116440
2021-06-22 05:31:33 +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 0c5c1f4b21 Bug 1716029 - Shape numeric runs in Arabic or Hebrew with RTL buffer directionality, so that OpenType rules will process glyphs in logical order. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D117910
2021-06-17 19:11:22 +00:00
Nicolas Silva 6fd5f44b39 Bug 1716395 - Break texture memory down into categories in memory reports. r=gfx-reviewers,jrmuizel
Also expose the information in the profiler HUD and rename some counters to make it more apparent when specific to the atlases as opposed to other textures managed by the texture cache.

Differential Revision: https://phabricator.services.mozilla.com/D117695
2021-06-15 21:25:54 +00:00
Sandor Molnar 0a290a2d13 Backed out changeset bd9776af79de (bug 1716029) for causing reftest failures. CLOSED TREE 2021-06-15 21:08:06 +03:00
Jonathan Kew 3050aa82c8 Bug 1716029 - Shape numeric runs in Arabic or Hebrew with RTL buffer directionality, so that OpenType rules will process glyphs in logical order. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D117910
2021-06-15 16:44:50 +00:00
Jonathan Kew 758d22f014 Bug 1716433 - Create a pref to determine whether Windows font substitutes are applied always, or only as fallback for unavailable fonts. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D117890
2021-06-15 16:44:24 +00:00
Alexandru Michis 294f10eff7 Backed out 2 changesets (bug 1716395) for causing webrender bustages.
CLOSED TREE

Backed out changeset 2c22d2c47e18 (bug 1716395)
Backed out changeset d6bea50c4cce (bug 1716395)
2021-06-15 18:24:07 +03:00
Nicolas Silva 5d4830c05e Bug 1716395 - Break texture memory down into categories in memory reports. r=gfx-reviewers,jrmuizel
Also expose the information in the profiler HUD and rename some counters to make it more apparent when specific to the atlases as opposed to other textures mamanged by the texture cache.

Differential Revision: https://phabricator.services.mozilla.com/D117695
2021-06-15 10:06:06 +00:00
Noemi Erli 4ed44ac8ab Backed out 2 changesets (bug 1716395, bug 1716317) for causing webrender bustages CLOSED TREE
Backed out changeset d0526849e7c3 (bug 1716317)
Backed out changeset 0693eb0f1e49 (bug 1716395)
2021-06-15 01:26:00 +03:00
Nicolas Silva c38415f653 Bug 1716395 - Break texture memory down into categories in memory reports. r=gfx-reviewers,jrmuizel
Also expose the information in the profiler HUD and rename some counters to make it more apparent when specific to the atlases as opposed to other textures mamanged by the texture cache.

Differential Revision: https://phabricator.services.mozilla.com/D117695
2021-06-14 21:30:00 +00:00
Jonathan Kew 604ee10a9b Bug 1714762 - patch 2 - Add Noto symbol fonts to "common fallbacks" on Linux. r=lsalzman
Depends on D117666

Differential Revision: https://phabricator.services.mozilla.com/D117667
2021-06-14 17:09:21 +00:00
Jonathan Kew 04da370178 Bug 1714762 - patch 1 - Don't use asynchronous font fallback in the parent process, to avoid glitches in UI rendering. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D117666
2021-06-14 17:09:21 +00:00
Jonathan Kew 553fdd24fc Bug 1711479 - Support various metrics (not only ex-height) as the basis for font-size-adjust calculations in the gfx font implementations. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D115211
2021-06-14 12:32:37 +00:00
Andrew Osmond 805d9ce3e3 Bug 1715902 - Refuse WebRender on Linux if backed by software driver. r=jrmuizel
Reject software rasterizers on Linux (except Software WebRender) when
trying to create full WebRender, unless WebRender was force enabled.

Differential Revision: https://phabricator.services.mozilla.com/D117534
2021-06-11 13:15:17 +00:00
Dorel Luca 2190a59721 Backed out changeset c30c8b8dc0b5 (bug 1715902) on Dev's request. CLOSED TREE 2021-06-11 15:48:11 +03:00
Andrew Osmond 330727f6e8 Bug 1715902 - Refuse WebRender on Linux if backed by software driver. r=jrmuizel
When trying to create a GLContextEGL or GLContextGLX, we should check to
see what our display is backed by. If using a software driver, we should
fail to create the context for WebRender, so that it can fallback to
Software WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D117473
2021-06-11 12:16:36 +00:00
Jonathan Kew 1783995b68 Bug 1714543 - Handle possible DWrite failures better when enumerating available fonts. r=lsalzman
I haven't been able to reproduce the issue here locally and test this directly, but according to
the reporter a build with this patch works for them.

My guess is that perhaps IDWriteLocalizedStrings::GetLocaleName has been returning a failure result,
causing us to drop the relevant font from the list altogether. We can handle that better by still
including the font, even if we're unsure which name matches the system locale.

This patch also adds a few gfxWarning() messages in places where we really don't expect things
to fail, but if they do, it might help us understand why fonts fail to appear.

Differential Revision: https://phabricator.services.mozilla.com/D117406
2021-06-10 16:21:27 +00:00
Jonathan Kew 74aef88b56 Bug 1664151 - Drop FC_CHARSET element from fontconfig patterns for TrueType/OpenType fonts, as we will read the cmap directly anyhow. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D117423
2021-06-10 16:13:39 +00:00
Csoregi Natalia 1fa90cf8b2 Backed out 5 changesets (bug 1711479) for multiple failures e.g. test_css-properties-db.js. CLOSED TREE
Backed out changeset f1b19a0463cd (bug 1711479)
Backed out changeset 3d1d2b4a2713 (bug 1711479)
Backed out changeset 4e689776fe5d (bug 1711479)
Backed out changeset 85b6b2648f60 (bug 1711479)
Backed out changeset a15cec1f0554 (bug 1711479)
2021-06-07 13:55:29 +03:00
Jonathan Kew ddbc4e9bed Bug 1711479 - Support various metrics (not only ex-height) as the basis for font-size-adjust calculations in the gfx font implementations. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D115211
2021-06-07 08:58:12 +00:00
Jonathan Kew 489fe85732 Bug 1689379 - Try to reduce the chance of an apparent shutdown hang by bailing out of potentially-expensive font-list calls if the app is shutting down. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D116740
2021-06-06 21:24:44 +00:00
Jonathan Kew 2f1aa020c3 Bug 1714282 - Handle bitmap font sizes in the shared font list on Linux. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D116874
2021-06-06 20:30:14 +00:00
Robert Mader 067d78ddef Bug 1711224 - Add Wayland support for RenderCompositorNativeSWGL,
In order to do that, move buffer type specific code into
`NativeSurfaceWayland` and create subclasses for SHM and EGL
buffers.

This should help identify bugs, improve the code structure for
additional buffer types (e.g. YUV) and makes us get closer
to the CA backend.

Also includes some minor unrelated cleanups.

Differential Revision: https://phabricator.services.mozilla.com/D115938
2021-05-25 21:14:39 +00:00
stransky 42c1875739 Bug 1710958 [Linux] Delay DMABuf initialization when it's really needed, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D115480
2021-05-25 10:21:56 +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
Andrew Osmond 05d9f058fd Bug 1711118 - Part 3. Allow D3D11 compositing with Software WebRender in release. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115081
2021-05-14 13:01:22 +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
Robert Mader 89349d8182 Bug 1699985 - Implement basic native Wayland compositor backend, r=stransky,mstange,aosmond
This implements a mostly working native backend for Wayland. It can
be enabled via `gfx.webrender.compositor.force-enabled`.

The focus here was to get a basic structure in place while mini-
mising changes in shared code.

Known issues and limitations:
 - No readback - this will likely require an internal compositor
   again, as Wayland doesn't allow easily allow readback of the
   composited image, at least not without asking for permission.
   Alternatively, a new Wayland extension could be written for it.
 - Frame-call related issues when using a compositor that optimizes
   them (e.g. Gnome-Shell). This will be fixed in a follow-up, in
   the mean time disabling `widget.wayland.opaque-region.enabled`
   and `widget.wayland.vsync.enabled` works around the issues.
 - Only works on Weston or very recent versions of Gnome-Shell, see
   bug 1699754

Differential Revision: https://phabricator.services.mozilla.com/D111662
2021-05-11 13:38:59 +00:00
Jonathan Kew 1af33c039b Bug 1708821 - On pre-10.15 macOS versions, don't do off-main-thread font registration in content processes. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114484
2021-05-10 21:04:53 +00:00
Andi-Bogdan Postelnicu a1f2f7329d Bug 1519636 - Reformat recent changes to the Google coding style. r=necko-reviewers,valentin,sylvestre
Updated with clang-format version 11.0.1 (taskcluster-GI8pmG3eQ_OSXfjFfr2yFw)

Differential Revision: https://phabricator.services.mozilla.com/D114618
2021-05-10 07:15:06 +00:00
Andrew Osmond c46e4b35ef Bug 1709476 - Allow falling back to Software WebRender from D3D11/WebRender in release. r=jrmuizel
If a user is able to get D3D11, and Software WebRender hasn't been
forced on (either by the Fission experiment or our pref), then we prefer
D3D11 in late beta and release. This will allow users who start with
D3D11 in the GPU process, to fallback to Software WebRender in the GPU
process.

Differential Revision: https://phabricator.services.mozilla.com/D114286
2021-05-05 14:31:46 +00:00
Jonathan Kew 5347f125e1 Bug 1708797 - Try to make font fallback code more robust against DWrite failures. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114225
2021-05-04 14:33:51 +00:00
Iulian Moraru 360e9d9cec Backed out changeset c5b7b613ed52 (bug 1708798) for landing with wrong bug. CLOSED TREE 2021-05-04 17:12:50 +03:00
Jonathan Kew 7b1e3093a7 Bug 1708798 - Try to make font fallback code more robust against DWrite failures. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114225
2021-05-04 13:44:23 +00:00