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

8798 Коммитов

Автор SHA1 Сообщение Дата
Sylvestre Ledru bebb9f9181 Bug 1519636 - Reformat with clang-format-11 to the Google coding style r=andi,sg,geckoview-reviewers,snorp
It is bringing some minor changes

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D90795
2020-11-18 09:05:59 +00:00
Dzmitry Malyshau 67a1f9eb04 Bug 1629357 - Make WebGPU dependent on WebRender feature r=aosmond
WebGPU itself doesn't care about WebRender or even the GPU process.
However, the presentation to canvas as written today only works with WebRender, so
it seems fine to have it as a dependency in general.

An alternative could be to just fail getContext() call if webrender is disabled.

Differential Revision: https://phabricator.services.mozilla.com/D70888
2020-11-16 15:25:39 +00:00
Jonathan Kew 76aa84acec Bug 1673397 - Check face name of DirectWrite font, to ensure we find the right family member. r=lsalzman
This is a somewhat speculative fix, as I haven't been able to reproduce the issue locally,
but it seems like the right thing to do given that (AFAIK) the DirectWrite APIs don't
make any promises about consistent ordering of faces within the list.

Differential Revision: https://phabricator.services.mozilla.com/D97043
2020-11-14 18:21:06 +00:00
Mihai Alexandru Michis ba567fa55c Backed out changeset 0529f89855bd (bug 1673397) for causing awsy failures. 2020-11-14 07:01:24 +02:00
Jonathan Kew 12aa4491a7 Bug 1673397 - Check face name of DirectWrite font, to ensure we find the right family member. r=lsalzman
This is a somewhat speculative fix, as I haven't been able to reproduce the issue locally,
but it seems like the right thing to do given that (AFAIK) the DirectWrite APIs don't
make any promises about consistent ordering of faces within the list.

Differential Revision: https://phabricator.services.mozilla.com/D97043
2020-11-13 22:20:20 +00:00
Jonathan Kew f053766b81 Bug 1617520 - Check for failure when creating default dwrite rendering params. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D97005
2020-11-13 20:04:52 +00:00
Markus Stange 758ee8a36c Bug 1677011 - Add an AndroidVsync class, and use it for the implementation of the Android VsyncSource. r=kats
This allows adding another vsync listener that gets called before the regular VsyncSource.
And it allows adding the listener on the Java UI thread.
The existing infrastructure is pretty adamant about being used on the main thread.

Differential Revision: https://phabricator.services.mozilla.com/D96797
2020-11-13 19:06:50 +00:00
Jonathan Kew 16eb1dba68 Bug 1674340 - Separate out language from gfxFontStyle and pass it separately to shaping processes that need it. r=lsalzman
This allows us to avoid instantiating separate gfxFont objects when content is tagged
with different 'lang' attributes, yet ends up using the same fonts (e.g. Wikipedia may
use a default font such as Arial for language names/links that are tagged with several
dozen different languages).

Differential Revision: https://phabricator.services.mozilla.com/D96978
2020-11-13 13:15:39 +00:00
Matt Woodrow c347392269 Bug 1676719 - Allow WebRender ANGLE in parent process for Nightly. r=jrmuizel
Depends on D96766

Differential Revision: https://phabricator.services.mozilla.com/D96768
2020-11-12 01:31:19 +00:00
Matt Woodrow ccd859ffae Bug 1674866 - Add gfx feature for WR software. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D96502
2020-11-10 23:36:43 +00:00
Karl Tomlinson deaaa17783 Bug 1675908 restore cache for GetFontScaleDPI() r=stransky
This was removed in https://hg.mozilla.org/mozilla-central/rev/d85aaf27109c
but that led to a regression in
perf_reftest_singletons scrollbar-styles-1.html.

Differential Revision: https://phabricator.services.mozilla.com/D96306
2020-11-09 12:18:59 +00:00
Markus Stange cb3b5afd46 Bug 1675887 - Respect the time value that's passed to Choreographer.FrameCallback.doFrame. r=kats
This makes the vsync times more consistent.
On a Pixel 2 running Android 11, the callback was called between 1ms and 6ms
after the vsync timestamp in my tests. Having the vsync timestamp slightly in
the past is what the rest of our vsync infrastructure expects.

Differential Revision: https://phabricator.services.mozilla.com/D96279
2020-11-09 18:32:13 +00:00
Jonathan Kew 44c5ff8518 Bug 1675714 - Null-check the OSPreferences instance before potential off-main-thread usage. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D96201
2020-11-07 17:28:51 +00:00
Jamie Nicol fbb7979b7a Bug 1661528 - Use pool of fixed-size PBOs for uploading textures. r=kvark
Currently we upload texture data by first splitting the updates based
on their destination texture. Then we iterate through every update for
the texture and calculate the total required size, then allocate and
map a PBO large enough to contain the updates. Finally we fill the PBO
with the data and submit the uploads, before moving on to the next
texture. This results in a lot of allocating and mapping PBOs of
highly variable sizes, and also requires an extra iteration of the
updates to calculate the required size.

This change makes it so that we allocate fixed size PBOs. We fill the
PBOs with as many updates as they have room for, then start filling a
new one. Furthermore, we recycle the PBOs to avoid having to
reallocate them, and if possible we persistently map them too.

The TextureUploader struct can now be used to upload to more than one
texture, ensuring buffers are filled more efficiently. It is also now
possible to manually stage some data in the PBO to be uploaded, in
case the client requires more fine-grained control over the layout of
the data.

If a single upload is too large to fit within the fixed-size PBO, then
we allocate a single-use larger PBO for the upload. As before, on Mac
we unfortunately must use a separate PBO for each individual upload,
so we also allocate single-use custom-sized PBOs in that case.

Differential Revision: https://phabricator.services.mozilla.com/D96024
2020-11-07 00:26:38 +00:00
stransky 014948bd7b Bug 1675453 [Wayland] Remove dmabuf configuring methods from gfxPlatformGtk, r=jhorak
gfxPlatformGtk needs gtk_init() so we can't use it in all places where dmabuf is used, so remove it from it.
Leave only WebGL config there as it can use gfxPlatform.

- Reomve UseDMABufTextures()
- Remove UseDMABufVideoTextures()
- Remove UseHardwareVideoDecoding()
- Remove UseDRMVAAPIDisplay()

Depends on D95992

Differential Revision: https://phabricator.services.mozilla.com/D95993
2020-11-06 14:13:16 +00:00
Matt Woodrow e05d3c80f8 Bug 1673983 - Preload d3d11 attachments for CompositorD3D11 if we might use it with software WebRender. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D95980
2020-11-06 00:02:07 +00:00
Matt Woodrow 603d0db408 Bug 1673983 - Add D3D11 RenderCompositor for SWGL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D95797
2020-11-06 00:00:47 +00:00
Narcis Beleuzu 37bd723824 Backed out 4 changesets (bug 1673983) for linting failure on moz.build CLOSED TREE
Backed out changeset f408fc890ba1 (bug 1673983)
Backed out changeset 49ae9de85ab9 (bug 1673983)
Backed out changeset 91d8f0f829fd (bug 1673983)
Backed out changeset 91cb8ee8ddd8 (bug 1673983)
2020-11-06 00:10:34 +02:00
Matt Woodrow af301ad5db Bug 1673983 - Preload d3d11 attachments for CompositorD3D11 if we might use it with software WebRender. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D95980
2020-11-05 19:27:36 +00:00
Matt Woodrow 50873a9666 Bug 1673983 - Add D3D11 RenderCompositor for SWGL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D95797
2020-11-05 19:26:21 +00:00
Jonathan Kew 4fdf5dd91a Bug 1672931 - Bail out of InitSharedFontListForPlatform before attempting to look up substitutions, if we failed to initialize the list at all. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D96011
2020-11-05 12:22:20 +00:00
smolnar 625b8a74be Backed out 4 changesets (bug 1673983) for causing build bustages in RenderCompositorD3D11SWGL. CLOSED TREE
Backed out changeset 134e621d0902 (bug 1673983)
Backed out changeset 81601a02d9b7 (bug 1673983)
Backed out changeset 72d4bf5b093e (bug 1673983)
Backed out changeset 99b2e5c55a25 (bug 1673983)
2020-11-05 11:40:36 +02:00
Matt Woodrow a87cdef8a4 Bug 1673983 - Preload d3d11 attachments for CompositorD3D11 if we might use it with software WebRender. r=lsalzman
Depends on D95800

Differential Revision: https://phabricator.services.mozilla.com/D95980
2020-11-05 09:15:32 +00:00
Matt Woodrow f9fe60e315 Bug 1673983 - Add D3D11 RenderCompositor for SWGL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D95797
2020-11-05 09:14:52 +00:00
Sylvestre Ledru 9bfd4073b2 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D95434
2020-11-04 18:46:00 +00:00
Jonathan Kew 89f3cb420a Bug 1672842 - patch 1 - Update handling of macOS system font to avoid Core Text failures when instantiating the system font. r=jrmuizel
With this patch, the system font seems to work OK again on 10.15 when building Firefox with SDK10.15,
provided webrender is *disabled*. We no longer trigger the Core Text error messages from InitSystemFontNames(),
and the proper system font is used.

(With webrender, we get garbage because it fails to instantiate the system font and renders "random" Times
glyphs instead.)

Differential Revision: https://phabricator.services.mozilla.com/D95453
2020-11-03 17:03:16 +00:00
tobar2018 d7a64d8211 Bug 1673051 - Remove OnYosemiteOrLater(), OnElCapitanOrLater(), and OnSierraOrLater(). r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D95304
2020-11-02 16:25:18 +00:00
Jonathan Kew 5050c89342 Bug 1672925 - Catch possible exceptions when trying to access font tables loaded through DWrite. r=lsalzman
If there's a device error trying to read some of the data from a font, it's better to catch the exception
and leave that individual font unusable (without names or character map) than to crash the whole process.

Differential Revision: https://phabricator.services.mozilla.com/D95146
2020-10-31 14:27:40 +00:00
Emilio Cobos Álvarez 0ed08cca6d Bug 1674228 - Rename some functions to avoid a gcc false-positive warnings.
MANUAL PUSH: GCC build bustage on a CLOSED TREE
2020-10-30 16:06:52 +01:00
Jonathan Kew 68712a0231 Bug 1674228 - Cache the result of the HasFontTable checks in gfxFontEntry::HasColorBitmapTable. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95279
2020-10-30 11:57:44 +00:00
Emilio Cobos Álvarez 925f58dbf1 Bug 1674228 - Speed up HasFontTable checks for freetype fonts. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D95280
2020-10-30 11:56:27 +00:00
Emilio Cobos Álvarez 9505500c5e Bug 1674227 - Handle -moz-emoji generic in gfxPlatformFontList. r=jfkthame
And tweak the code so that it doesn't happen next time we add a new
generic font.

Differential Revision: https://phabricator.services.mozilla.com/D95211
2020-10-30 10:10:06 +00:00
Bryce Seager van Dyk 2f82080b18 Bug 1673917 - Rename vprintf style nsTSubstring::AppendPrintf -> AppendVprintf. r=sg
This patch also expands tests to check that the results of creating string via
both methods are consistent.

Differential Revision: https://phabricator.services.mozilla.com/D95053
2020-10-29 14:51:45 +00:00
Jonathan Kew e294c69cbb Bug 1673510 - Improve text-orientation run itemization to better match harfbuzz heuristics for handling vertical alternates. r=lsalzman
(test is in the following patch in the stack)

Differential Revision: https://phabricator.services.mozilla.com/D94981
2020-10-29 08:17:43 +00:00
Jeff Muizelaar fcfa9a589a Bug 1673715 - Make gfx.webrender.software a static pref. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D94885
2020-10-27 20:34:59 +00:00
Jeff Gilbert cf7ecdcbfb Bug 1671054 - Decide AllowWebglOop after InitWebRenderConfig. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D94785
2020-10-27 19:36:36 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Jonathan Kew eae3c7f86f Bug 1673098 - Ensure we use our implementation of the get_nominal_glyph callback when shaping a CFF font, so that hyphen fallbacks can take effect. r=lsalzman
CLOSED TREE

Differential Revision: https://phabricator.services.mozilla.com/D94681
2020-10-26 05:33:06 +00:00
Mihai Alexandru Michis 36e7dbc5bc Backed out changeset 0a6c18c6e9d5 (bug 1673098) for causing webrender failures.
CLOSED TREE
2020-10-26 15:35:55 +02:00
Jonathan Kew 8da8e8eeda Bug 1673098 - Ensure we use our implementation of the get_nominal_glyph callback when shaping a CFF font, so that hyphen fallbacks can take effect. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D94681
2020-10-26 05:33:06 +00:00
sanketh 2c7a08b95e Bug 1664365 - Remove mingw workaround for COMPOSITIONOBJECT_ALL_ACCESS r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D94659
2020-10-24 01:26:42 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Jonathan Kew f2b9ae0184 Bug 1667053 - Refactor macOS print settings implementation for clarity. r=jwatt
Rather than wrapping an NSPrintInfo in nsPrintSettingsX, where we then have two
(potentially conflicting) sources of truth about various settings, we treat the
settings in the base nsPrintInfo class as authoritative, and just apply them to
a temporary NSPrintInfo when needed to interact with platform APIs.

Differential Revision: https://phabricator.services.mozilla.com/D92966
2020-10-23 11:07:21 +00:00
Andrew Osmond b2c20be0bc Bug 1671518 - Improve hardware stretching support to check all monitors and configurations. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D93704
2020-10-22 19:53:23 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Jeff Muizelaar 7c1391669a Bug 1669740 - Cleanup some WrapAndRecord usage. r=aosmond
This is a follow up from bug 1668377. It changes
some function names, comments and removes the factory
method.

The WrapAndRecord target is still used by the global recording
stuff so I've kept it for now.

Differential Revision: https://phabricator.services.mozilla.com/D92777
2020-10-21 15:09:22 +00:00
Dan Glastonbury 7ab5253afe Bug 1595994 - PD: Allow WMF decoding inside RDD process. r=mattwoodrow
This assumes that access to Windows WMF and DirectX is allowed from RDD process.

Depends on D91699

Differential Revision: https://phabricator.services.mozilla.com/D54883
2020-10-20 23:26:52 +00:00
Nicolas Silva 41bda13c88 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-20 08:54:04 +00:00
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