* Create new logger.
* Use logger for process switch logging.
* Remove "[process-switch]: " string from log messages, it is redundant.
This may eventually move to a whole new module if/when process switching
moves there.
Differential Revision: https://phabricator.services.mozilla.com/D65440
--HG--
extra : moz-landing-system : lando
As far as I can tell there is no single entry-point into C++ code on Android.
Instead, GeckoThread and GeckoLibLoader call various functions to load libraries one-by-one.
We want to capture all that library loading in the profiler, so we need to kick off the base profiler at the beginning of whichever function is called first.
Differential Revision: https://phabricator.services.mozilla.com/D64999
--HG--
extra : moz-landing-system : lando
Stop including "Linker.h" and always include <link.h> instead, which also comes with ElfW() and other things that this code needs.
Also fix up "!/" path detection code.
Differential Revision: https://phabricator.services.mozilla.com/D64997
--HG--
extra : moz-landing-system : lando
This fixes the declaration of (BaseProfiler)LogTest. It also makes it so that the logs show up on Android.
In xpcom we have printf_stderr which does something similar and also handles Windows.
Differential Revision: https://phabricator.services.mozilla.com/D64994
--HG--
extra : moz-landing-system : lando
This speeds up startup by 140ms on a Moto G5 Android device because it avoids almost 3 million calls to CallbackNode::Matches.
The patch contains the following changes:
- InitAlwaysPref no longer calls AddMirrorCallback.
- InitAlwaysPref loses its aIsParent and aIsStartup arguments and is now only called in the parent.
- InitAll is now only called in the parent, and doesn't care if it's called for startup.
- There's a new function, `StaticPrefs::StartObservingAlwaysPrefs()` which gets called after all prefs have been loaded on startup.
- The new function calls AddMirror rather than AddMirrorCallback so that any pref values from the data files get picked up into the mirrors.
- AddMirror requires a fallback argument. I used the current value of the mirror as the fallback value.
Differential Revision: https://phabricator.services.mozilla.com/D66142
--HG--
extra : moz-landing-system : lando
On X11, there is an universal definition for `None`, and it conflicts with the `None` in the enum of `MediaSessionPlaybackTestState`, which causes a build fail on X11. Also, as the `MediaSessionPlaybackTestState` is defined in the `ChromeUtilsBinding.h`, which is automatically generated by the code gen, we can't include `X11UndefineNone.h` to workaround this problem.
Therefore, we have to change its name to avoid using the same name.
[1] from `/usr/include/X11/X.h:115`
#define None 0L /* universal null resource or null atom */
Differential Revision: https://phabricator.services.mozilla.com/D66445
--HG--
extra : moz-landing-system : lando
Implement a chrome-only method `getCurrentMediaSessionPlaybackState()` to expose current actual playback state in testing.
The reason we create an new enum `MediaSessionPlaybackTestState` is because of building issue. If we use `MediaSessionPlaybackState` directly in the `ChromeUtils.webidl`, then the codegen would automatically add an header include of `MediaSessionBinding.h` in the `ChromeUtilsBinding.h`, which would cause the complier complaining about lots of undeclared identifier.
Differential Revision: https://phabricator.services.mozilla.com/D66344
--HG--
extra : moz-landing-system : lando
`PlaybackState` and `MediaSessionPlaybackState` are actually quite similar, and we don't want to have to many states to confuse reader and do unnecessary tranform between two states. Therefore, replaceing `PlaybackState` with `MediaSessionPlaybackState`.
Differential Revision: https://phabricator.services.mozilla.com/D66342
--HG--
extra : moz-landing-system : lando
This patch includes the implementation of propagating declared playback state from the media session in the content process to the media session controller in the chrome process.
Differential Revision: https://phabricator.services.mozilla.com/D66341
--HG--
extra : moz-landing-system : lando
As we would need to preserve media session's playback state as well, we create a new struture to store each media session's propagated properties.
Differential Revision: https://phabricator.services.mozilla.com/D66340
--HG--
extra : moz-landing-system : lando
Note that this also suppresses notifications from the initial about:blank in the new process, and updates the tabbrowser to not expect those.
Differential Revision: https://phabricator.services.mozilla.com/D65923
--HG--
extra : moz-landing-system : lando
GPUVideoTextureHost needs call wrapped TextureHost's PrepareTextureSource() and UpdatedInternal() for layer compositor.
Differential Revision: https://phabricator.services.mozilla.com/D66923
--HG--
extra : moz-landing-system : lando
CompositorVsyncDispatcher holds a reference to the VsyncSource, so it must be informed on change.
Differential Revision: https://phabricator.services.mozilla.com/D65878
--HG--
extra : moz-landing-system : lando
PKCS#11 requires that serial numbers be DER-encoded (essentially, the bytes of
the serialNumber component of TBSCertificate). On macOS,
SecCertificateCopySerialNumberData gives the contents of this component (so it
lacks the tag and length fields, and may or may not have leading 00 or FF bytes
to indicate sign). On Windows, CERT_INFO.SerialNumber is the value of the
integer with the least significant byte first, which is the opposite of DER
(which has the most significant byte first). It also lacks any leading 00 or FF
sign bytes. Since the OS APIs can't be used here, this patch introduces a
utility function to grab the value of the serialNumber component of a
DER-encoded certificate.
Differential Revision: https://phabricator.services.mozilla.com/D66327
--HG--
extra : moz-landing-system : lando
This patch removes the old thread_profiler bindings, and adds
support for profiling WR with the tracy profiler, which is a
much more advanced frame profiler.
Since it's very lightweight, and only instruments annotated CPU
and GPU zones, it can retain very large profiles, allowing
fine grained analysis of thread interactions, CPU spikes etc.
Differential Revision: https://phabricator.services.mozilla.com/D66926
--HG--
extra : moz-landing-system : lando
This was causing inconsistent directionality depending on the order of changes
between text content and input value.
Differential Revision: https://phabricator.services.mozilla.com/D67039
--HG--
extra : moz-landing-system : lando
Updates `wgpu` code as well as our WebIDL bindings.
The `wgpu-types` is a new component crate that has public types available to
Rust applications that target the Web directly.
Differential Revision: https://phabricator.services.mozilla.com/D67013
--HG--
extra : moz-landing-system : lando