Register a new application panel, disabled by default, with no icon, no shortcut
and hidden from the devtools options.
Set devtools.application.enabled to true to enable it.
MozReview-Commit-ID: L5PXZVDCRlF
--HG--
extra : rebase_source : 465dd27241e81ee2f35794ce01cf0d06939e58f6
Some content in Makefile.in is removed because after this change, the
scripts no longer invoke the preprocessor and thus don't have unknown
dependencies anymore outside what is provided in their inputs array.
The order of exports.PREFERENCES in properties-db changes because the
data file has shorthands placed after longhands. The only usage of it
is in test_css-properties-db.js which doesn't care about the order.
MozReview-Commit-ID: AMjzTRf2HYN
--HG--
extra : rebase_source : f9db0659a81bea28b335806ac70e23dc0d36e493
With this change, we first generate a data file ServoCSSPropList.py from
Servo data, and then use this data to generate ServoCSSPropList.h.
This change itself serves as a checkpoint with a runtime check that all
information generated from Servo side matches what we have in the Gecko
side. Following patches will start replacing uses of nsCSSPropList.h
with either the data file or the header file.
The reason that it generates data file rather than header directly is
that, many users of PythonCSSProps.h invokes C++ preprocessor manually
to extract data from nsCSSPropList.h without passing in search paths,
so it is non-trivial to replace the use of nsCSSPropList.h there with
a generated header. Generating a Python data file would hopefully
simplify those users rather than adding more complexity to them.
I also thought about generating JSON rather than plain Python file, but
JSON doesn't allow trailing comma in array, which makes it less pretty
to generate via mako template.
MozReview-Commit-ID: CwK2oL88r6F
--HG--
extra : rebase_source : 926cca8548d42ecb0dd364ea5c52a46a4973e819
... but keep the logic that avoids re-initialization.
MozReview-Commit-ID: 2XQCRaM6U4B
--HG--
extra : rebase_source : e7291b3c7b26d39dcfde445212dd4f10b63ec98d
This additionally introduces a new pref (toolkit.telemetry.isGeckoViewMode)
to discriminate, at runtime, between Fennec and GV in JavaScript code.
Moreover, this disables TelemetryController initialization from content
processes, which was left enabled.
MozReview-Commit-ID: 7VoDorxAhvD
--HG--
extra : rebase_source : b16a5c870c073f62175a5f9c2bf8db30032c55bd
According to the documnetation[1] category and method are identifiers,
thus an underscore is allowed. It's less clear for extra keys, but
underscores are already used there.
The documentation is adjusted accordingly.
[1]: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/collection/events.html#limits
MozReview-Commit-ID: 9pUsDNXCY8m
--HG--
extra : rebase_source : 5f3a3f1a9d8172cfb9695c17bd04e11836a65c93
This patch enables the build system to generate the JSON definition
file that is loaded, on developer builds, when Firefox starts and
is built from artifact builds.
MozReview-Commit-ID: 1nSQi7exRtL
--HG--
extra : rebase_source : 666dbe99effb8ecc9e90a43241297c79c1a6c510
This additionally adds the memory consumption of dynamic builtin events
to the memory reporting.
MozReview-Commit-ID: LopWWPnWkBc
--HG--
extra : rebase_source : 36468d02ccb19217b44e6c29e0df291fba4459d0
This patch enables the Firefox Telemetry core to register and record
to dynamic builtin scalars.
MozReview-Commit-ID: 8FeAgmmsQXw
--HG--
extra : rebase_source : f5eddb24bb8c16b75a49850568efd38141eb6a5a
Note that BinSource-auto.{h, cpp} and BinToken.h are auto-generated from BinSource.{yaml, webidl}.
This patch contains the following changes:
- updates to the webidl specifications;
- adapt BinSource.* to the new tokenizer API;
- split BinASTParser across BinASTParserBase and BinASTParser<Tok>.
The effect is that we may now use the BinASTParser with both the (updated) tester tokenizer
and the (new) multipart tokenizer.
MozReview-Commit-ID: HCF2m3qDTFH
--HG--
extra : rebase_source : 6a59b102182e50a782ca56f2df57d3053c608668
BinAST parsers need to perform frequent lookup for string values, e.g. once for each `let`, `var`, `const`,
`+`, `-`, `instanceof` (string enums), as well as a number of startup lookups for string values such as
"LiteralNullExpression", etc. (ast table)
This patch introduces zero-copy lookup tables for both of these. These tables are shared among instances of parsers in a JSRuntime.
MozReview-Commit-ID: 75BasAxLoha
--HG--
extra : rebase_source : 3a06aca851d38b500f026d8726be66e4a5dedc37
As a preliminary step for introducing the BinTokenReaderMultipart, we start by splitting the BinTokenReaderTester in two.
Also, we change a bit the API of the BinTokenReaderTester to uniformize with the BinTokenReaderMultipart.
MozReview-Commit-ID: 4SlHaqEAZMk
--HG--
extra : rebase_source : 1b2b0ada2cb8ea9c26715cd56b2340517403ede2
Changes:
- instead of parsing string enums by string matching, we go through a new `enum class` `BinVariant`, whose handling is part of the tokenizer;
- we now generate this `enum class`.
MozReview-Commit-ID: FnzG772RZam
--HG--
extra : rebase_source : d61e4855f904259e66ff2dbd765ebbb1ee597d7d
This introduces a new tokenizer for the BinAST parser: the multipart tokenizer.
The format used by the multipart tokenizer is described here: https://binast.github.io/binjs-ref/binjs_io/multipart/index.html
While the details of the format may still change, this is the tokenizer we intend to ship.
We only implement the `identity; ` compression scheme. For the moment, there are no plans to implement other compression schemes.
MozReview-Commit-ID: 8WUa3QX5GWt
--HG--
extra : rebase_source : 984f98c488048144ed38f9644682f947b776a686
This makes the APZ sampler thread be the render backend thread whenever
webrender is being used (not just when async scene building is enabled).
MozReview-Commit-ID: L9lmopd3pe7
--HG--
extra : rebase_source : a23793bf704a0bf3bc7ba6568ecfe5faa5720415
When sampling APZ transforms from rust code, we will need a timestamp at
which to sample the transforms. It's not obvious what the right
timestamp is to use here, and this will almost certainly be revisited
when we are hooking up OMTA in bug 1453360. For now we just stash the
most recent composite timestamp on the APZSampler and use that when
sampling. This seems to work fine.
MozReview-Commit-ID: KinsXO9tEJH
--HG--
extra : rebase_source : ffce8a9ac6720eea8583b03a613545ac5e9b48bf
The TransactionBuilder class comes with a bunch of baggage (it
automatically allocates/deallocates a transaction under the hood) which
we will want to avoid for the RB callbacks into APZ. This patch adds a
lightweight TransactionWrapper class that APZ can use to provide the
async transform info and that will be simpler to use in the callback
from rust code.
MozReview-Commit-ID: 1ywhx4TIzGd
--HG--
extra : rebase_source : 0ac4356554db24806d03b44f5384f9b7341d4255
Deferred tasks currently run as part of the sampling process, in
AdvanceAnimations. However, deferred tasks also sometimes need to acquire
the APZ tree lock for stuff. Acquiring the tree lock is not going to be
allowed on the render backend thread (which is the sampler thread when
WR is enabled), so we need to bump these tasks to another thread. The
controller thread is safe for this purpose.
MozReview-Commit-ID: AP3bnGF5UjL
--HG--
extra : rebase_source : 6fd81dfa488d1cada9941299e60a3d660a38895b
For webrender, we need to be able to sample the async transforms from nodes
and thumbs without holding the tree lock, since the sampling happens on
the render backend thread, and holding the tree lock would be a
threading violation. We can use the mApzcMap to sample the node
transforms, but for the thumbs we need to introduce another data
structure. This data structure packages up all the information from
the HitTestingTreeNodes that we need for the computation and stores it
protected by the map lock. This allows us to compute the transforms
safely while just holding the map lock.
MozReview-Commit-ID: BDMEbE78NnH
--HG--
extra : rebase_source : 754ceca695b5b3e1c87b1b2bde753d1775107e5f
This lets the APZSampler know which thread is the actual sampler thread.
This is only really used for the thread assertions, but might be useful
for debugging and such as well.
Note that since this behaviour is not dependent on any prefs (unlike the
updater thread, which is only the scene builder thread when the async
scene building pref is enabled), we don't hook it up to the rust code
just yet; that will happen in the last patch.
MozReview-Commit-ID: DrrJOyFA65D
--HG--
extra : rebase_source : 61e8e75ae16f95fe5ce95fa42a3dff501979ab9e