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

8798 Коммитов

Автор SHA1 Сообщение Дата
Narcis Beleuzu 1fa351142a Backed out 1 changesets (bug 1671289) for wrench bustages on profiler.rs . CLOSED TREE
Backed out changeset db80ac24d32f (bug 1671289)
2020-10-19 23:58:05 +03:00
Nicolas Silva b5e41f1e7e Bug 1671289 - Improve WebRender's integrated profiler. r=gw
In a (large-ish) nutshell:

 - Consolidate all counters under a single type.
 - Counters are all arranged in an array and referred to via index.
 - All counters can be displayed as average+max (float/int), graph, and change indicator.
 - Specify what to show and in what form via a pref.
 - All counters and visualizations support not having values every frame.
 - GPU time queries visualization is easier to read relative to the frame budget:
  - If the maximum value is under 16ms, the right side of the graph is fixed at 16ms.
  - If the maximum value is above 16ms, draw a vertical bar at 16ms.
 - Added a few new profile counters:
  - Total frame CPU time (from API send to the end of GPU command submission).
  - Visibility, Prepare, Batching and Glyph resolve times.

The main change is how profile counters are represented. Instead of having different types for different visualizations, every counter is represented the same way, tracking average/max values over half a ms and optionally recording a graph over a number of frames. Counters are stored in a vector and referred to via index (See constants at the top of profiler.rs).
The main motivation for this storage is to facilitate adding counters without having to think too much about where to store them and how to pass them to the renderer.

The profiler's UI is defined by a string with with a single syntax:
 - Comma separated list of tokens (leading and trailing spaces ignored), which can be:
  - A counter name:
   - If prefixed with a '#' character, the counter is shown as a graph.
   - If prefixed with a '*' character, the counter is shown as a change indicator
   - By default (counter name without prefix), the counter is shown as average and max over half a second.
  - A preset name:
   - A preset is a builtin UI string in the same syntax that can be nested in the main UI string.
   - Presets are defined towards the top of profiler.rs and can also refer to other presets.
  - An empty token adds a  bit of vertical space.
  - A '|' token begins a new column.
  - A '_' token begins a new row.

Differential Revision: https://phabricator.services.mozilla.com/D93603
2020-10-19 20:07:54 +00:00
Jonathan Kew 979b9d807c Bug 1661247 - Implement a LocalizedFamilyName method in the shared font-list, to enable proper localized font name display in the Preferences dialog on Windows. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D91564
2020-10-14 12:49:37 +00:00
Jonathan Kew 38e52e6931 Bug 1670581 - Fall back to ASCII hyphen-minus if Unicode hyphen character is not supported by the chosen font. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D93208
2020-10-13 11:00:20 +00:00
Vincent Bernat 10ae6bfc55 Bug 1554850 - handle fractional DPI change on Linux. r=karlt
On Linux, Firefox is listening on notify::scale-factor to detect DPI
change. However, scale-factor is an int and on the lower-end side of
the DPI scale, some devices are using fractional scale factors encoded
into Xft/DPI setting. Changing from ×1 to ×1.5 scale is therefore
undetected.

The proposed change is two-folds:

 - remove use of a cached sDPI value and rely on GTK being the cache

 - listening on notify::gtk-xft-dpi to trigger a DPI change

What is missing:

 - performance evaluation of not caching sDPI (on a 10s session
   loading 2 pages, there is an "overhead" of 6ms on my setup, nothing
   visible from my point of view)

 - when changing Xft/DPI and scale, the change is done twice, this
   seems harmless

Differential Revision: https://phabricator.services.mozilla.com/D92095
2020-10-13 02:47:27 +00:00
Csoregi Natalia 708c2f0ad2 Backed out changeset d42dc1f995bb (bug 1669275) for gfx crashes. CLOSED TREE 2020-10-08 04:26:03 +03:00
Robert Mader 8a5c42d45a Bug 1669275 - [WR/EGL/X11] Use GLX features on mesa. r=stransky
This allows mesa to continue using the existing vsync implementation
and nvidia to use the new EGL xvisual logic.

It is an intermediate solution until the issues are fixed. However,
assuming it will take a while to do so, it's probably worth it.

Differential Revision: https://phabricator.services.mozilla.com/D92466
2020-10-07 21:21:20 +00:00
Lee Salzman 88e30d29c4 Bug 1669575 - experimental backout of macOS 11 CoreText crash workaround in bug 1657440. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D92666
2020-10-06 20:37:27 +00:00
Jeff Muizelaar ab80b5cfe4 Bug 1669286 - Hold on to a Weak<T> for fonts so that we can memory report them. r=aosmond,gw
This adds a WeakTable which is a poor man's weak_table::PtrWeakHashSet.

Differential Revision: https://phabricator.services.mozilla.com/D92474
2020-10-06 13:22:26 +00:00
Jeff Gilbert a426e3880b Bug 1669381 - Replace GLLibraryEGL nsIGfxInfo use with gfxVars. r=mattwoodrow
+ Remove now-unused gfxUtils::ThreadSafeGetFeatureStatus.

Differential Revision: https://phabricator.services.mozilla.com/D92529
2020-10-06 05:43:33 +00:00
Narcis Beleuzu a22d48f88f Backed out changeset 03df2fdc9586 (bug 1669286) for WebRender bustages on Cargo.lock CLOSED TREE 2020-10-06 05:53:24 +03:00
Jeff Muizelaar 5835771ed1 Bug 1669286 - Hold on to a Weak<T> for fonts so that we can memory report them. r=gw
This adds a WeakTable which is a poor man's weak_table::PtrWeakHashSet.

Differential Revision: https://phabricator.services.mozilla.com/D92474
2020-10-05 22:48:14 +00:00
Jonathan Kew 2655501b30 Bug 1665196 - Use the main-thread idle queue rather than a repeating timer to finalize font loading. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D92302
2020-10-03 16:03:54 +00:00
Narcis Beleuzu c4408a4561 Backed out changeset cab81767be70 (bug 1665196) for mochitest failures on test_mouse_enterleave_iframe.html CLOSED TREE 2020-10-03 14:56:08 +03:00
Timothy Nikkel 3f2f0f567c Bug 1657822. Enable new desktop zooming scrollbar code. r=kats
The mathml reftest pref needs to be added at the same time because the test needs that pref with the new scrollbar code to pass, but it fails with that pref with the old scrollbar code. Since that test uses the minimum scale, which is only valid with overlay scrollbars, it is correct to do so.

Differential Revision: https://phabricator.services.mozilla.com/D91243
2020-10-02 21:05:40 +00:00
Jonathan Kew 1101dcaf73 Bug 1665196 - Use the main-thread idle queue rather than a repeating timer to finalize font loading. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D92302
2020-10-03 08:42:43 +00:00
Jeff Muizelaar 58d190620e Bug 1668377 - Switch printing from WrapAndRecord to just Recording. r=aosmond
Using WrapAndRecord for printing was just a way to minimize risk when
working on the RecordingDrawTarget. We would prefer to eliminate
WrapAndRecord.

These leaves some of old function names around just to keep the patch
small. If it sticks we can fix those names.

Differential Revision: https://phabricator.services.mozilla.com/D91988
2020-10-01 14:23:59 +00:00
Jeff Gilbert 449098b7b4 Bug 1668144 - Add blocklisting for OOP WebGL. r=mattwoodrow
* Add FEATURE_THREADSAFE_GL and FEATURE_ALLOW_WEBGL_OUT_OF_PROCESS
* Add gfxVars::AllowWebglOop()
* Blocklist THREADSAFE_GL on mesa/nouveau

Differential Revision: https://phabricator.services.mozilla.com/D91879
2020-10-01 08:14:12 +00:00
Jonathan Kew 6dc05ab6ef Bug 1665773 - Ensure CompressedGlyph::SetComplex() always clears the glyphCount to zero; let gfxShapedText::SetDetailedGlyphs() own the setting of this field. r=heycam
We also rearrange bits in the CompressedGlyph so that the advance field doesn't need to be shifted,
and remove unnecessary glyphCount parameters from various setter methods.

Differential Revision: https://phabricator.services.mozilla.com/D90678
2020-09-30 21:16:44 +00:00
Jeff Gilbert fe9cac8ce8 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also rename to UNUSED_FEATURE_WEBGL_MSAA, pending removal.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-27 22:18:23 +00:00
Csoregi Natalia 9fab6c0021 Backed out changeset 78024e47a901 (bug 1657822) for failures on test_bug1303704.html. CLOSED TREE 2020-09-25 10:19:54 +03:00
Csoregi Natalia fd1e86b487 Backed out changeset 3dcacf3ae5a1 (bug 1664905) for assertion failures on GfxInfoBase.cpp. CLOSED TREE 2020-09-25 09:33:40 +03:00
Jeff Gilbert 3fd329a969 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also remove obsolete FEATURE_WEBGL_MSAA.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-25 05:43:24 +00:00
Timothy Nikkel d0caf06032 Bug 1657822. Enable new desktop zooming scrollbar code. r=kats
The mathml reftest pref needs to be added at the same time because the test needs that pref with the new scrollbar code to pass, but it fails with that pref with the old scrollbar code. Since that test uses the minimum scale, which is only valid with overlay scrollbars, it is correct to do so.

Differential Revision: https://phabricator.services.mozilla.com/D91243
2020-09-24 22:09:54 +00:00
Razvan Maries 92ac0ffaa7 Backed out changeset 3ea0c63fe8b8 (bug 1664905) for build bustages on ClientWebGLContext.cpp. CLOSED TREE 2020-09-25 03:26:17 +03:00
Jeff Gilbert 98e2fea926 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also remove obsolete FEATURE_WEBGL_MSAA.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-24 23:46:12 +00:00
Simon Giesecke de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Andrew Osmond 92a899be07 Bug 1666272 - Use the HW ANGLE failure ID when disabled WebRender due to it. r=jrmuizel
We don't collect telemetry stats on why users don't get HW ANGLE,
however we can just share failure IDs with HW ANGLE when we disable
WebRender with UnavailableNoAngle.

Differential Revision: https://phabricator.services.mozilla.com/D90867
2020-09-21 20:43:20 +00:00
Jonathan Kew bc743e4fe4 Bug 1666181 - Add missing null-check in FontList::SearchForLocalFace to avoid possible crash. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D90840
2020-09-21 12:29:32 +00:00
Andrew Osmond ddedd422b9 Bug 1665764 - Expose in about:support hardware stretching support and scaling status. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D90703
2020-09-18 15:56:12 +00:00
Andrew Osmond e89e30ca7f Bug 1665648 - Initialize GPU process config before WebRender. r=kats
We need to initialize the GPU process config before WebRender because we
have a dependency on the GPU process to enable WebRender. Without this
patch, it gives very confusing initialization failures, which it should
be clear that it was disabled because there is no GPU process. The GPU
process feature itself will then have a clear reason why it was
disabled, typically because Windows did not support remote windowing
(e.g. too old).

Differential Revision: https://phabricator.services.mozilla.com/D90564
2020-09-17 14:04:24 +00:00
Emilio Cobos Álvarez b61d81f571 Bug 1665373 - Don't use nsAutoRef in fontconfig font list. r=jfkthame
There was a weird mix of nsAutoRef and nsCountedRef going on... Use RefPtr<>
for ref-counted things, and UniquePtr for non-refcounted ones.

Differential Revision: https://phabricator.services.mozilla.com/D90400
2020-09-16 23:11:13 +00:00
Jonathan Kew fcaefcf4a9 Bug 1661532 - Ensure bundled fonts that duplicate installed fonts will take precedence and remain visible even if visibility/RFP would block the installed version. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D89133
2020-09-15 14:51:23 +00:00
Doug Thayer 025f5fb9f0 Bug 1656261 - Back out all recent StartupCache work r=RyanVM
This backs out all work from bug 1627075 as well as all of its
descendents. There were a few conflicts when backing this out but
overall it was pretty clean, so I would say it's a fairly mild
level of risk. Historically Nathan Froyd has reviewed these patches,
but he is no longer at Mozilla, and no one else is particularly
familiar with the code, so I am passing this off to RyanVM who has
at least been familiar with the history of the bug.

Differential Revision: https://phabricator.services.mozilla.com/D90096
2020-09-14 17:00:53 +00:00
Jonathan Kew aaefed9952 Bug 1663790 - Support oversized shared-memory blocks in the font list when needed for large allocations. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D89615
2020-09-14 16:04:01 +00:00
sotaro 872ccfe115 Bug 1649088 - Add SharedSurface support with AHardwareBuffer support on android r=jgilbert
AHardwareBuffer could remove several limitations of android::SurfaceTexture.

File descriptor usage of current implementation is not efficient. It is going to be addressed by Bug 1663381.

Differential Revision: https://phabricator.services.mozilla.com/D89232
2020-09-11 03:11:45 +00:00
sotaro caabc67369 Bug 1663894 - Fix minGW build failure by Bug 1460499 r=nical
Differential Revision: https://phabricator.services.mozilla.com/D89699
2020-09-10 14:03:15 +00:00
Jonathan Kew dcb65c1e81 Bug 1647868 - Work around FcNameParse bug in versions around fontconfig 2.11.0, to avoid broken fonts when the shared font-list is enabled. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D89653
2020-09-09 19:56:50 +00:00
sotaro 54ede5160d Bug 1460499 - Use DirectComposition for hardware decoded video on Windows r=nical
Use ID3D11VideoProcessor for video frame rendering.

WebRenderError::VIDEO_OVERLAY does not cause disabling WebRender. It just change gfxVars::UseWebRenderDCompVideoOverlayWin() to false.

Differential Revision: https://phabricator.services.mozilla.com/D88763
2020-09-09 01:04:53 +00:00
Glenn Watson 77ed56e2c7 Bug 1663362 - Remove extra raster root assignment pass. r=nical
This was left as a debug option when the original change was made,
to allow seeing the differences. It's no longer required.

Differential Revision: https://phabricator.services.mozilla.com/D89328
2020-09-08 08:45:28 +00:00
Jonathan Kew e7ed767ca6 Bug 1663230 - Ensure MergeCharactersInTextRun clears the old glyph record before storing new details; also prefer simple glyph storage where possible. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D89380
2020-09-08 08:47:40 +00:00
stransky 716c84bec1 Bug 1650583 [Linux/EGL] Use GLX Vsync source on GLX only, r=jgilbert
When GLX Vsync source is created along EGL contexts, NVIDIA drivers refuse to make any EGL content current.
So disable GLX Vsync source creation when EGL context is used.

Differential Revision: https://phabricator.services.mozilla.com/D87634
2020-09-03 09:02:29 +00:00
Noemi Erli 3403bbb58e Backed out 4 changesets (bug 1650583) for causing build bustages in rules.mk CLOSED TREE
Backed out changeset 033e491241b1 (bug 1650583)
Backed out changeset e6a03fea3aad (bug 1650583)
Backed out changeset b24be6b2d8cd (bug 1650583)
Backed out changeset bbb04547d367 (bug 1650583)
2020-09-03 02:33:34 +03:00
Martin Stransky f1073aabb4 Bug 1650583 [Linux/EGL] Use GLX Vsync source on GLX only, r=jgilbert
When GLX Vsync source is created along EGL contexts, NVIDIA drivers refuse to make any EGL content current.
So disable GLX Vsync source creation when EGL context is used.

Differential Revision: https://phabricator.services.mozilla.com/D87634
2020-09-02 20:17:21 +00:00
Jonathan Kew e2024f61e0 Bug 1661677 - Ensure that font instances we decide not to use in FindFontForChar get passed to the global cache for expiration tracking. r=m_kato
Depends on D88578

Differential Revision: https://phabricator.services.mozilla.com/D88579
2020-09-01 04:30:57 +00:00
Jonathan Kew 67674b78cb Bug 1661570 - Allow webfonts to be used for emoji-default codepoints even if they don't provide color glyphs. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D88578
2020-09-01 07:43:53 +00:00
Sylvestre Ledru 9c192aa9ca Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D88713
2020-08-31 09:23:02 +00:00
Mihai Alexandru Michis 261d01524b Backed out changeset d0f173a90792 (bug 1519636) for causing bustages.
CLOSED TREE
2020-08-31 10:14:58 +03:00
Sylvestre Ledru 939dd426e6 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D88713
2020-08-31 06:51:21 +00:00
Jonathan Kew 31e90cf644 Bug 1659258 - Ensure that SetupFamilyCharmap always sets the mCharacterMap pointer, even if empty, so that we don't repeatedly call it for fonts we can't actually use. r=jwatt
Depends on D87175

Differential Revision: https://phabricator.services.mozilla.com/D87176
2020-08-21 14:24:37 +00:00
Jonathan Kew ae37d8dff3 Bug 1659257 - Set up shared-memory charmap record in FT2FontEntry::ReadCMAP. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D87175
2020-08-26 14:33:56 +00:00
Jonathan Kew 3c2cb7fd1a Bug 1371386 - Take account of requirements for emoji-style or text-style presentation during font selection & fallback. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87304
2020-08-26 09:31:58 +00:00
Jonathan Kew f43df3b0df Bug 1648474 - patch 2 - Localized names other than the system locale (or default English) should not be exposed in the Preferences UI font list. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D87661
2020-08-25 16:41:46 +00:00
Jonathan Kew ae51add868 Bug 1648474 - patch 1 - Include all localized DirectWrite font family names in the font list. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D87660
2020-08-25 16:41:18 +00:00
sotaro 2789c3c5d4 Bug 1649354 - Add android Fence handling to Compositor r=jnicol
AHardwareBuffer requests to handle android fences. There are 2 type of fences, release fence and acquire fence. Some ideas were borrowed from b2g's FenceHandle implementation.

The release fence is a fence that is used for waiting until usage/composite of AHardwareBuffer is ended. It needs to be delivered from host side to client side. It is delivered via ImageBridge, since some TextureClientd str recycled without recycle callback.

The acquire fence is a fence that is used for waiting until rendering to its AHardwareBuffer is completed. It is delivered from client side to host side.

Differential Revision: https://phabricator.services.mozilla.com/D87298
2020-08-24 09:34:51 +00:00
Mihai Alexandru Michis b162701621 Backed out changeset 0cad1ef724ee (bug 1371386) for causing failures in emoji-fallback-3.html
CLOSED TREE
2020-08-24 21:02:10 +03:00
Jonathan Kew ba87878325 Bug 1371386 - Take account of requirements for emoji-style or text-style presentation during font selection & fallback. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87304
2020-08-24 14:24:12 +00:00
Simon Giesecke cfd7d0ea9c Bug 1659923 - Avoid unnecessary copies around Base64Encode. r=xpcom-reviewers,necko-reviewers,froydnj,valentin
This also adds some more variants of Base64Encode and Base64EncodeAppend.

Differential Revision: https://phabricator.services.mozilla.com/D87559
2020-08-19 17:45:16 +00:00
Jean-Yves Avenard 4aac6e0243 Bug 1659015 - P2. Add YUV identity support (rgb) to Advanced Layers. r=bas
It's destined to go, but for now it's required.

Depends on D87167

Differential Revision: https://phabricator.services.mozilla.com/D87168
2020-08-17 16:04:50 +00:00
Lee Salzman 811a48a03b Bug 1657440 - avoid letting Skia query style information for Mac fonts. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D86492
2020-08-17 06:48:00 +00:00
Jonathan Kew e0e0d95a73 Bug 1659453 - Accelerate gfxFontFamily::SearchAllFontsForChar by setting up the family charmap. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D87285
2020-08-17 14:04:50 +00:00
Jonathan Kew 469eb289ea Bug 1659313 - Use the Mathematics font preference during fallback for characters from Unicode math-symbols blocks. r=fredw
Differential Revision: https://phabricator.services.mozilla.com/D87192
2020-08-16 18:25:07 +00:00
Jonathan Kew 85e43fff8a Bug 1656156 - Don't do font fallback for default-ignorable characters that won't be visibly rendered anyway. r=m_kato
Depends on D86944

Differential Revision: https://phabricator.services.mozilla.com/D86945
2020-08-17 01:13:40 +00:00
Jonathan Kew 8e036b0622 Bug 1656156 - Don't do font fallback for unassigned Unicode codepoints; like Private Use characters, only allow these with an explicitly-specified font. r=m_kato
Depends on D86943

Differential Revision: https://phabricator.services.mozilla.com/D86944
2020-08-17 01:14:54 +00:00
Jonathan Kew d03af0bd0e Bug 1656156 - Skip the font-matching algorithm for cluster-extender codepoints that are default-ignorable, as there's no benefit to potentially switching fonts here. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D86943
2020-08-17 01:04:43 +00:00
Jonathan Kew 7ff5ba6276 Bug 1651368 - Using an explicit font whitelist overrides font visibility-level. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D86530
2020-08-13 11:40:02 +00:00
Martin Stransky 68bd878c1e Bug 1655026 [Linux] Enable WebGL DMABuf backend for X11/EGL, r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D84901
2020-08-12 07:01:54 +00:00
Jonathan Kew e92e6945b1 Bug 1658207 - Set up and use the mCharacterMap in shared Family records more correctly, to accelerate font fallback searches. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D86490
2020-08-10 22:45:51 +00:00
Jonathan Kew b12c5b9ea0 Bug 1657892 - Cache variation axes in the UnscaledFontMac to accelerate font instantiations. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D86475
2020-08-09 07:23:42 +00:00
Timothy Nikkel 076621eeeb Bug 1656802. Add comment pointing to bug about enabling new desktop zooming scrollbars by default.
Differential Revision: https://phabricator.services.mozilla.com/D86328
2020-08-07 11:40:49 +00:00
Bogdan Tara 06a9a6d13f Backed out 11 changesets (bug 1656802) for async-scrolling reftests failures CLOSED TREE
Backed out changeset 941ee8aa9735 (bug 1656802)
Backed out changeset c5b1b38d1d35 (bug 1656802)
Backed out changeset fe2dd5de83ef (bug 1656802)
Backed out changeset 8e217fc1c6d4 (bug 1656802)
Backed out changeset 21f574f6acb4 (bug 1656802)
Backed out changeset 753f93dffe07 (bug 1656802)
Backed out changeset 386554110008 (bug 1656802)
Backed out changeset 2d3576ace2f1 (bug 1656802)
Backed out changeset 06a47c35c531 (bug 1656802)
Backed out changeset 57fa48542435 (bug 1656802)
Backed out changeset b1517bc33eff (bug 1656802)
2020-08-07 14:36:21 +03:00
Timothy Nikkel 28c869e69e Bug 1656802. Add comment pointing to bug about enabling new desktop zooming scrollbars by default.
Differential Revision: https://phabricator.services.mozilla.com/D86328
2020-08-07 10:06:14 +00:00
Simon Giesecke 1e02318b49 Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83817
2020-08-07 07:49:47 +00:00
Simon Giesecke dea5b543db Bug 1653335 - Remove uses of MakeSpan in return statements. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83812
2020-08-07 07:42:50 +00:00
Martin Stransky ba1cca7dff Bug 1657315 [Linux] Remove unused X11 display connection from gfxPlatformGtk, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D85993
2020-08-05 10:56:33 +00:00
Simon Giesecke 1e6ec7ec86 Bug 1656117 - Reduce include dependencies on nsRefreshDriver.h. r=mstange
The abstract observer base classes are moved to a separate header file
nsRefreshObservers.h and the includes are adjusted accordingly.

Some method implementations are moved to the corresponding implementation files
to avoid the need to include the nsRefreshDriver.h file in the header.

Differential Revision: https://phabricator.services.mozilla.com/D85764
2020-08-04 21:17:50 +00:00
Simon Giesecke 96f3e7e019 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-04 11:27:07 +00:00
Noemi Erli 381fca9783 Backed out 4 changesets (bug 1654992, bug 1654991) for causing timeous in mask-opacity-1e.html
Backed out changeset 11f0f54c6e0a (bug 1654992)
Backed out changeset a353dd5b3f08 (bug 1654991)
Backed out changeset 6a7964ba549f (bug 1654991)
Backed out changeset cf3bfb91d98c (bug 1654991)
2020-08-03 22:09:36 +03:00
Simon Giesecke 032d2ac9d3 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-03 14:54:18 +00:00
Jonathan Kew 44e07725c8 Bug 1656017 - Don't assert on possible failures in InitializeFamily, just return safely and leave the family empty. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D85395
2020-07-31 23:57:22 +00:00
Jamie Nicol afb4f3c9f1 Bug 1655278 - Ensure AndroidVsyncSource::Display::mVsyncDuration is initialized before CompositorBridgeParent. r=kats
When a CompositorBridgeParent is initialized it reads the vsync duration from
the AndroidVsyncSource::Display instance. The vsync duration is currently
initialized in AndroidVsyncSource::EnableVsync(). Since bug 1617750 landed,
which makes the hidden window lazily loaded, the first tab's
CompositorBridgeParent is being initialized before vsync is enabled, meaning it
reads a value of zero.

Instead, initialize mVsyncDuration in the AndroidVsyncSource::Display
constructor.

Differential Revision: https://phabricator.services.mozilla.com/D85611
2020-07-31 17:49:10 +00:00
Kartikaya Gupta 668d788bfd Bug 1656071 - Record profiler stats into captures to assist with debugging talos regressions. r=kvark
This adds a profiler-stats.txt file to captures that dumps the profiler
stats, if those are being recorded. They get recorded if the profiler is
visible, or if the (newly added) PROFILER_CAPTURE debug option is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D85592
2020-07-31 18:53:56 +00:00
Butkovits Atila 9f220fdcc4 Backed out changeset 0d50962a0bb9 (bug 1656071) for wrench failures. CLOSED TREE 2020-07-31 20:50:31 +03:00
Kartikaya Gupta 4e09d8469b Bug 1656071 - Record profiler stats into captures to assist with debugging talos regressions. r=kvark
This adds a profiler-stats.txt file to captures that dumps the profiler
stats, if those are being recorded. They get recorded if the profiler is
visible, or if the (newly added) PROFILER_CAPTURE debug option is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D85592
2020-07-31 16:48:34 +00:00
Jonathan Kew 95e0f6f509 Bug 1655364 - Rename gfxShapedText::SetGlyphs to SetDetailedGlyphs and make it just set glyph information, not clobber character-type flags. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D85187
2020-07-30 11:48:06 +00:00
Mihai Alexandru Michis 78c470dbaa Backed out changeset 3c88adc13a06 (bug 1655364) for causing assertion failures regarding glyphs.
CLOSED TREE
2020-07-30 13:25:04 +03:00
Jonathan Kew ab3b20c648 Bug 1655364 - Rename gfxShapedText::SetGlyphs to SetDetailedGlyphs and make it just set glyph information, not clobber character-type flags. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D85187
2020-07-30 07:56:05 +00:00
Cameron McCormack 8b18ae5fbf Bug 1655394 - Add a Dump Text Runs command to the Layout Debugger. r=TYLin,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D84953
2020-07-29 22:31:19 +00:00
Jonathan Kew 60bda2f7ba Bug 1647573 - Always check FamilyFace::FontEntry() for null before trying to use the pointer, as it can fail. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D84518
2020-07-28 11:13:00 +00:00
Jonathan Kew eb8be4d270 Bug 1648355 - When doing a global font fallback search, load cmaps eagerly in the parent process. r=jwatt
This reduces IPC traffic, and avoids the (severe) impact of file access interception
and proxying by the sandbox on DirectWrite in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D83240
2020-07-22 21:12:11 +00:00
Jonathan Kew 1fb489dfe7 Bug 1654470 - Improve font selection heuristics for character sequences that should get emoji-style presentation. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D84703
2020-07-28 07:40:54 +00:00
Jonathan Kew 4fc6d8448e Bug 1654501 - Add assertions to confirm the font family lists are properly sorted. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D84730
2020-07-26 11:08:50 +00:00
Jonathan Kew f2da1388c8 Bug 1654501 - Fix incorrectly sorted entries in the lists of standard Windows fonts. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D84714
2020-07-26 18:10:04 +00:00
Coroiu Cristina 39ef681feb Backed out 2 changesets (bug 1654501) for assertion failures at gfxPlatformFontList.cpp
Backed out changeset cb233beadbe1 (bug 1654501)
Backed out changeset 1fe3b54b7095 (bug 1654501)
2020-07-26 13:53:23 +03:00
Jonathan Kew 56b38c0de2 Bug 1654501 - Add assertions to confirm the font family lists are properly sorted. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D84730
2020-07-26 09:31:26 +00:00
Jonathan Kew 8424869f6a Bug 1654501 - Fix incorrectly sorted entries in the lists of standard Windows fonts. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D84714
2020-07-26 09:31:26 +00:00
Timothy Nikkel 9665488d31 Bug 1651332. Create a pref to gate the new scrollbar code on. r=kats
I could have use apz.allow_zooming but using a separate pref means we can flip the pref to check if the new scrollbar code is the source of a regression. Also I haven't tested the code on Fenix at all, so we can disable it there for now.

Differential Revision: https://phabricator.services.mozilla.com/D82684
2020-07-19 10:04:04 +00:00
Andrew Osmond 6cfed64163 Bug 1650748 - Prevent DMABUF usage with GLX. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D84256
2020-07-22 18:58:11 +00:00
Jonathan Kew 1428623376 Bug 1653987 - When privacy.resistFingerprinting is true, override font-visibility setting to allow Base fonts only. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D84181
2020-07-21 14:28:36 +00:00
Markus Stange ccdf0c3561 Bug 1653737 - Add output time to VsyncEvent. r=nical
This timestamp is provided by the system on macOS, and estimated as "the next
vsync" on all other platforms.

On macOS, the output time increments in very consistent amounts. The timestamp
is independent of when exactly the vsync callback ends up running, so it is less
vulnerable to unfortunate thread scheduling.
This makes it a more reliable source for picking video frames, for example.

Differential Revision: https://phabricator.services.mozilla.com/D83828
2020-07-18 05:34:35 +00:00
Jonathan Kew c299dcbf9f Bug 1653577 - Add NS_ASSERTION to various failure cases in gfxDWriteFontList::MakePlatformFont, rather than just silently failing. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D83954
2020-07-17 14:04:49 +00:00
Jonathan Kew 8239026d15 Bug 1648085 - Create family entries for any localized font-family names exposed by fontconfig. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D83569
2020-07-15 18:38:51 +00:00
Simon Giesecke 7701ae7587 Bug 1652003 - Remove unnecessary includes from gfxFont.h. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D83100
2020-07-15 12:47:28 +00:00
Jonathan Kew 01241894f0 Bug 1648353 - Remove/downgrade MOZ_DIAGNOSTIC_ASSERTs that may unnecessarily crash the parent process, but provide no useful data. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D82511
2020-07-14 15:41:01 +00:00
Liang-Heng Chen 674a374da9 Bug 1652406 - add private flag back and remove the assertion; r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D83297
2020-07-13 11:06:31 +00:00
longsonr 875f5e88ac Bug 1259861 - Move everything else into the mozilla namespace in layout/svg r=dholbert
Also: adjust include paths to be consistent for usages of various SVG headers,
and remove unused SVG includes (mostly for "utils" classes),
and drop stray "ns" from already-renamed SVG classes in various code comments.

Differential Revision: https://phabricator.services.mozilla.com/D83140
2020-07-11 02:20:20 +00:00
Liang-Heng Chen e03242ddb4 Bug 1647732 - isolate font cache; r=baku,jfkthame,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D82034
2020-07-10 10:28:40 +00:00
Jeff Muizelaar f2b7a41716 Bug 1650475. Enable GPU switching on Mac. r=kvark
The goal here is to make it so that we don't special case the device on Mac
so that we can switch GPUs without needing to reset any state.

There a couple of parts to this:
1. Disable texture storage so that we can use BGRA textures and don't need swizzling.
2. Use the recommended GL_UNSIGNED_INT_8_8_8_8_REV for BGRA on desktop GL.
3. Disable swizzling.
4. Always do the PBO workaround.

Differential Revision: https://phabricator.services.mozilla.com/D82223
2020-07-08 01:56:55 +00:00
Doug Thayer b274aafa4b Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-08 02:46:34 +00:00
Narcis Beleuzu a182c015f5 Backed out 6 changesets (bug 1627075) for bustages on startupcache/StartupCache.cpp . CLOSED TREE
Backed out changeset 21605186687e (bug 1627075)
Backed out changeset e29b15980da2 (bug 1627075)
Backed out changeset eb5265addd5e (bug 1627075)
Backed out changeset dfd71f4ecb81 (bug 1627075)
Backed out changeset 13ecd68b3c0d (bug 1627075)
Backed out changeset 333d035afe92 (bug 1627075)
2020-07-07 23:30:48 +03:00
Doug Thayer a2595a8402 Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-07 17:04:27 +00:00
Mihai Alexandru Michis 87cb0ad6fa Backed out 6 changesets (bug 1627075) for causing bustages in StartupCache.cpp
CLOSED TREE

Backed out changeset fc144caf5d06 (bug 1627075)
Backed out changeset a345e05df151 (bug 1627075)
Backed out changeset 288a67aed661 (bug 1627075)
Backed out changeset 2cb021a493d8 (bug 1627075)
Backed out changeset 920398d1c3d3 (bug 1627075)
Backed out changeset ebdcd96a9d20 (bug 1627075)
2020-07-07 08:47:14 +03:00
Doug Thayer e3f3b7b80b Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-07 04:36:27 +00:00
Jonathan Kew 94f1922418 Bug 1649527 - Initialize character map when creating a gfxFontEntry if it is already available from a shared font-list Face record. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D81822
2020-07-06 14:29:23 +00:00
Jonathan Kew 2ac8d8b91b Bug 1633254 - Don't allow dwrite fonts to use GDI table access if the font family is non-simple, as it might access the wrong resource. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D81819
2020-07-06 14:00:58 +00:00
Jeff Muizelaar 1ccd29d935 Bug 1650662 - RELEASE_ASSERT that FT_Init_FreeType succeeds. r=lsalzman
I don't think we should bother trying to run without a working FreeType.

Differential Revision: https://phabricator.services.mozilla.com/D82298
2020-07-05 19:40:37 +00:00
Hiroyuki Ikezoe 85030f4af6 Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel
Depends on D81481

Differential Revision: https://phabricator.services.mozilla.com/D75731
2020-07-05 11:44:18 +00:00
Brindusan Cristian 7f75410fd7 Backed out 9 changesets (bug 1324591) for linux build bustages on central on nsDisplayList.h.
Backed out changeset 75966ee1fe65 (bug 1324591)
Backed out changeset d6a01c6bc40e (bug 1324591)
Backed out changeset fef36ff2ea3d (bug 1324591)
Backed out changeset 4a4ae4bd95d1 (bug 1324591)
Backed out changeset 732804c83add (bug 1324591)
Backed out changeset 84657a3522fb (bug 1324591)
Backed out changeset e6c74ba41007 (bug 1324591)
Backed out changeset 8e6d4e9f5aa0 (bug 1324591)
Backed out changeset 6bc284863aff (bug 1324591)
2020-07-05 13:45:35 +03:00
Hiroyuki Ikezoe c350cb04ad Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D75731
2020-07-05 02:20:23 +00:00
Sylvestre Ledru caf785c695 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D82178
2020-07-04 09:38:43 +00:00
Martin Stransky 533d0807f0 Bug 1619523 [Linux] Remove Wayland check at gfxPlatformGtk::UseDMABufVideoTextures(), make VA-API decoding possible on X11 r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D82183
2020-07-03 12:23:43 +00:00
Martin Stransky 276e0a676b Bug 1619523 [Linux] Remove Wayland check at gfxPlatformGtk::UseHardwareVideoDecoding(), make VA-API decoding possible on X11 r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D82174
2020-07-03 11:27:56 +00:00
Jonathan Kew 0cfcdeb5d0 Bug 1648354 - Handle the fact that ToPtr() may return null in the child process. r=jwatt
Normally, if IsNull() is false, we'd expect ToPtr() to return a valid pointer,
but for code that may run on a stylo thread in the child process this is not
necessarily true: if resolving the pointer requires accessing a new shared-mem
block, we can't make that IPC call from the stylo thread. So in this case, we
let ToPtr() return null, and the caller needs to handle this safely.

Differential Revision: https://phabricator.services.mozilla.com/D81242
2020-07-03 09:02:54 +00:00
sotaro ce3a41744b Bug 1648411 - Add AHardwareBuffer layer buffer support on android r=jnicol
AHardwareBuffer is supported since Android O(APIVersion 26). Implementation of AndroidHardwareBufferTextureData referred AndroidNativeWindowTextureData. Implementation of AndroidHardwareBufferTextureHost referred obsoleted GrallocTextureHost.

android fence is not supported yet.

Differential Revision: https://phabricator.services.mozilla.com/D81808
2020-07-02 13:43:19 +00:00
Noemi Erli b13f2bcb47 Backed out 7 changesets (bug 1627075) for causing @nsZipArchive crashes CLOSED TREE
Backed out changeset 9705b2759d45 (bug 1627075)
Backed out changeset 699212a443c3 (bug 1627075)
Backed out changeset 7ae4df10749c (bug 1627075)
Backed out changeset ece9a4223349 (bug 1627075)
Backed out changeset 6c4eedaa0d04 (bug 1627075)
Backed out changeset f5106898239f (bug 1627075)
Backed out changeset b6029c7c0016 (bug 1627075)
2020-07-02 14:05:53 +03:00
Doug Thayer 3742aac030 Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-02 02:51:41 +00:00
Mihai Alexandru Michis bab20702a8 Backed out 6 changesets (bug 1627075) for causing failures regarding startupcache.
CLOSED TREE

Backed out changeset cf23b456ba12 (bug 1627075)
Backed out changeset b07887474f51 (bug 1627075)
Backed out changeset 65c0e6790a33 (bug 1627075)
Backed out changeset 6cd31f17a931 (bug 1627075)
Backed out changeset 0f0d1bd2a8ac (bug 1627075)
Backed out changeset 763a5a7b43a0 (bug 1627075)
2020-07-01 22:16:28 +03:00
Doug Thayer ab4b703a53 Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-01 17:09:53 +00:00
Valentin Gosu f8823e06c1 Bug 1649721 - Gate mUseWebGLDmabufBackend on MOZ_WAYLAND r=rmader
Differential Revision: https://phabricator.services.mozilla.com/D81834
2020-07-01 16:15:55 +00:00
Jon Bauman a415128250 Bug 1649312 - No derogatory language: Remove references to grandfather in comments r=njn,zbraniecki,keeler,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D81628
2020-07-01 15:23:26 +00:00
Martin Stransky 7007b75677 Bug 1649120 [Linux] Rename Wayland/DMABuf preferences at gfxPlatform, r=jhorak
Depends on D81513

Differential Revision: https://phabricator.services.mozilla.com/D81514
2020-07-01 11:22:27 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Jonathan Kew a02ceb7081 Bug 1649073 - Bail out of InitSharedFontListForPlatform if we fail to get the dwrite system font collection. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D81494
2020-06-29 14:29:54 +00:00
Andrea Marchesini 34cbc7e2ed Bug 1648141 - IPCBlobInputStream to RemoteLazyInputStream - part 7 - RemoteLazyInputStreamUtils, r=smaug,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D80930
2020-06-29 11:02:59 +00:00
Razvan Maries f7cb24cc7e Backed out 8 changesets (bug 1648141) for build bustages on RemoteLazyInputStreamThread.cpp. CLOSED TREE
Backed out changeset e9b4ca0ee700 (bug 1648141)
Backed out changeset b9bb847cee47 (bug 1648141)
Backed out changeset 11dfce46ec14 (bug 1648141)
Backed out changeset d824d2f67f27 (bug 1648141)
Backed out changeset e5b8292e7095 (bug 1648141)
Backed out changeset c1a3d5fa0c61 (bug 1648141)
Backed out changeset 24fdb83db3cd (bug 1648141)
Backed out changeset 749d894dde52 (bug 1648141)
2020-06-29 13:59:16 +03:00
Andrea Marchesini 16339b8334 Bug 1648141 - IPCBlobInputStream to RemoteLazyInputStream - part 7 - RemoteLazyInputStreamUtils, r=smaug,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D80930
2020-06-29 10:29:05 +00:00
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
David Major 57c85830c8 Bug 1647774 - Fix a clang-11 error about FNCMapEntry in gfxFT2FontList.cpp r=jfkthame
clang-11 is unhappy about this typedef being anonymous when it's not C-compatible due to the base class. This could be fixed by adding a tag, but looking around at other subclasses of `PLDHashEntryHdr`, most instances just define the struct in the C++ way.

Differential Revision: https://phabricator.services.mozilla.com/D80681
2020-06-26 14:34:24 +00:00
Bob Owen 3ba9a0b436 Bug 1641722: Deactivate remote canvas 2D when device creation or stream read failure occurs. r=jrmuizel,chutten
This also adds telemetry probes to track:
* number of times remote canvas 2D is activated
* number of times remote canvas 2D is deactivated due to device creation failure
* number of times remote canvas 2D is deactivated due to a stream read error.

Differential Revision: https://phabricator.services.mozilla.com/D81032
2020-06-26 11:37:31 +00:00
Robert Mader 198e8b531d Bug 1648554 - Clean up imports in gfxPlatformGtk, r=stransky
- clean up header imports
- move initialization of `mUseWebGLDmabufBackend` to constructor

Differential Revision: https://phabricator.services.mozilla.com/D81303
2020-06-26 10:04:04 +00:00
Dorel Luca caf588721d Backed out changeset 8570bd4a1f0b (bug 1641722) for Build bustage in telemetry/.deps/TelemetryScalarData.h. CLOSED TREE 2020-06-26 13:26:54 +03:00
Bob Owen d3745901a1 Bug 1641722: Deactivate remote canvas 2D when device creation or stream read failure occurs. r=jrmuizel,chutten
This also adds telemetry probes to track:
* number of times remote canvas 2D is activated
* number of times remote canvas 2D is deactivated due to canvas device creation failure
* number of times remote canvas 2D is deactivated due to a stream read error.

Differential Revision: https://phabricator.services.mozilla.com/D81032
2020-06-26 08:22:12 +00:00
Daosheng Mu af1368e7aa Bug 1602072 - Add a gfxInfo flag determine Firefox is embedded by FxR for telemetry. r=thomasmo,chutten,froydnj,jrmuizel,geckoview-reviewers,rbarker,snorp
Differential Revision: https://phabricator.services.mozilla.com/D56233
2020-06-25 17:22:20 +00:00
Martin Stransky 4a8f96bbdc Bug 1646007 [Wayland] Check Wayland dmabuf backend and fallback to a default one, r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D79979
2020-06-25 05:57:40 +00:00
Martin Stransky 18f4cd508d Bug 1646007 [Wayland] Check Wayland backend before X11, r=jgilbert
X11/Wayland backends are both enabled on Linux by default.
Check Wayland backend first and fallback to X11 when Wayland isn't active.

Differential Revision: https://phabricator.services.mozilla.com/D79978
2020-06-25 05:57:32 +00:00
Kartikaya Gupta d61fdfeed8 Bug 1647225 - Change some failure IDs and strings. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D80450
2020-06-23 15:23:11 +00:00
Kartikaya Gupta f3ff31626e Bug 1647225 - Fix some comments. r=jrmuizel,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D80449
2020-06-23 15:21:36 +00:00
Kartikaya Gupta 837a027ab6 Bug 1647225 - Consistently use blocklist terminology for gfxFeature. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D80425
2020-06-23 15:13:57 +00:00
Martin Stransky 8fc11cb1ca Bug 1645734 [Wayland] Move gbm library interface from nsWaylandDisplay, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D79695
2020-06-23 06:27:09 +00:00
Narcis Beleuzu 1f50773a6e Backed out 8 changesets (bug 1647225) for xpcshell failures on test_gfxBlacklist_Version.js CLOSED TREE
Backed out changeset b6f88195da61 (bug 1647225)
Backed out changeset a5b3f54cb5f2 (bug 1647225)
Backed out changeset 6a1025189b0e (bug 1647225)
Backed out changeset b95de94b444e (bug 1647225)
Backed out changeset ed2c7dfd8373 (bug 1647225)
Backed out changeset 1adc99494bcb (bug 1647225)
Backed out changeset 5d0cf22c335a (bug 1647225)
Backed out changeset 956b43a8636f (bug 1647225)
2020-06-23 04:34:12 +03:00
Kartikaya Gupta 347a55ff38 Bug 1647225 - Change some failure IDs and strings. r=jrmuizel
Depends on D80449

Differential Revision: https://phabricator.services.mozilla.com/D80450
2020-06-22 14:06:18 +00:00
Kartikaya Gupta 015478ec51 Bug 1647225 - Fix some comments. r=jrmuizel,geckoview-reviewers,agi
Depends on D80448

Differential Revision: https://phabricator.services.mozilla.com/D80449
2020-06-22 22:54:00 +00:00
Kartikaya Gupta 793dc7ec5d Bug 1647225 - Consistently use blocklist terminology for gfxFeature. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D80425
2020-06-22 14:04:38 +00:00
Martin Stransky 206cdde0d6 Bug 1646051 [Wayland] Use dmabuf video textures when vaapi is enabled, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D79830
2020-06-17 06:54:07 +00:00
Jonathan Kew ccb0928606 Bug 1645685 - Don't re-try font entry creation in gfxPlatformFontList::GetOrCreateFontEntry if we already cached a null result. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D79613
2020-06-16 14:47:11 +00:00
Jonathan Kew de7c977e78 Bug 1645645 - Fix error handling in gfxDWriteFontList::CreateFontEntry to avoid risk of null-deref. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D79612
2020-06-16 14:52:15 +00:00
Sylvestre Ledru 85c05f3a47 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D79795
2020-06-16 14:37:23 +00:00
Jeff Gilbert fac855a09e Bug 1632249 - Determine webgl's layers::TextureType in Present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D79617
2020-06-15 18:26:14 +00:00
Jeff Gilbert a97c615de2 Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-15 18:25:55 +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
Martin Stransky 48eab6d50c Bug 1629788 [Wayland] Add widget.wayland-dmabuf-video-textures.enabled preference, r=jhorak
- widget.wayland-dmabuf-video-textures.enabled controls dmabuf texture backend for decoded video frames.

Differential Revision: https://phabricator.services.mozilla.com/D78293
2020-06-13 18:38:45 +00:00
Bogdan Tara f3d007c8fd Backed out 3 changesets (bug 1629788) for WaylandDMABufSurface.cpp related bustages CLOSED TREE
Backed out changeset 31fba4d1fe1d (bug 1629788)
Backed out changeset 9d1e4da287a6 (bug 1629788)
Backed out changeset 23791ccf64dd (bug 1629788)
2020-06-13 13:56:04 +03:00
Martin Stransky ef2c5466dd Bug 1629788 [Wayland] Add widget.wayland-dmabuf-video-textures.enabled preference, r=jhorak
- widget.wayland-dmabuf-video-textures.enabled controls dmabuf texture backend for decoded video frames.

Differential Revision: https://phabricator.services.mozilla.com/D78293
2020-06-13 10:35:32 +00:00
Jonathan Kew 5de135d535 Bug 1645524 - Correctly set the return value of gfxDWriteFontList::ReadFaceNames to support src:local(...) face search. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D79564
2020-06-13 03:11:23 +00:00
Jonathan Kew 4a4f4331c2 Bug 1645482 - Don't leak dwrite font table references after reading font names. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D79534
2020-06-12 19:50:07 +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
Dorel Luca 255f146f14 Backed out 7 changesets (bug 1632249) for Gtest perma chrash in [@ mozilla::BlockingResourceBase::CheckAcquire()]. CLOSED TREE
Backed out changeset 4ff99aab3ee8 (bug 1632249)
Backed out changeset d5b7fe789001 (bug 1632249)
Backed out changeset 64fbb616a0f3 (bug 1632249)
Backed out changeset 6f19f43e0a0b (bug 1632249)
Backed out changeset 073302d26c5e (bug 1632249)
Backed out changeset 7c94d37c446e (bug 1632249)
Backed out changeset 204b899f436d (bug 1632249)
2020-06-11 19:44:20 +03:00
Emilio Cobos Álvarez 4cb5da08a2 Bug 1640623 - Use an enum class for LookAndFeel::FontID. r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D76696
2020-06-11 11:27:58 +00:00
Jeff Gilbert cf3c8fedea Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-11 06:37:35 +00:00
Mihai Alexandru Michis 59ad7ed333 Backed out 6 changesets (bug 1632249) for causing bustages in CanvasRenderingContext2D.cpp
CLOSED TREE

Backed out changeset c93972b05d4f (bug 1632249)
Backed out changeset 04f5127c85d5 (bug 1632249)
Backed out changeset b15d91e64a25 (bug 1632249)
Backed out changeset 71ad2ed8e9ba (bug 1632249)
Backed out changeset 6e9a89ead3a5 (bug 1632249)
Backed out changeset dd00e2da3a0f (bug 1632249)
2020-06-11 02:43:35 +03:00
Jeff Gilbert 9b09e54345 Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-10 22:21:02 +00:00
Daosheng Mu d9e2924e6f Bug 1643514 - Clean up VRManager usage. r=kip,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D78436
2020-06-10 01:26:52 +00:00
Dorel Luca 7289b66d6f Backed out 4 changesets (bug 1632249) for Build bustages and mda failures. CLOSED TREE
Backed out changeset cdaa8a4e9e36 (bug 1632249)
Backed out changeset 9ff26bcc580c (bug 1632249)
Backed out changeset 16d84439756f (bug 1632249)
Backed out changeset bbfe23c61add (bug 1632249)
2020-06-09 03:19:48 +03:00
Dzmitry Malyshau 59b6551dd5 Bug 1638672 - Use shaders to clear texture cache regions r=geckoview-reviewers,gw,snorp
This is a suggested workaround for an interesting visual bug that we see on
some platforms with Intel Broadwell GPUs.

Also reverts https://phabricator.services.mozilla.com/D57100

Differential Revision: https://phabricator.services.mozilla.com/D78705
2020-06-08 21:05:03 +00:00
Jeff Gilbert de6377896c Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-08 20:34:15 +00:00
Simon Giesecke 13502cf27c Bug 1642991 - Use RemoveElementsBy where easily possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D78055
2020-06-08 09:01:48 +00:00
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