The implementation was unconditionally passing eForEventHandling to
GetCurrentAsyncTransform(), but one of the call sites was actually
used for compositing.
Differential Revision: https://phabricator.services.mozilla.com/D185259
Make it an enum class to avoid placing the enumerators themselves into
namespace scope.
This allows the next patch to use the enum in APZCTreeManager.h,
where only the forward declaration of AsyncPanZoomController is visible.
For convenience, add forwarding constants to AsyncPanZoomController.
Differential Revision: https://phabricator.services.mozilla.com/D185258
We don't perform hit testing in APZ any more (that's done in WebRender).
The use cases for which we want to use the most up to date async transform
that reflects all previously received input events even if we haven't
composited their effects yet, are more accurately summarized as "event
handling".
Differential Revision: https://phabricator.services.mozilla.com/D185257
This patch slightly refactors the gecko profile class in
raptor-browsertime to make use of the new RaptorProfiling superclass.
Differential Revision: https://phabricator.services.mozilla.com/D186051
This patch adds some explanation of the current support of tracing in
raptor-browsertime and clarifies that this currently only supports
pageload tests. This documentatoin will be further extended once
benchmark support is added.
Differential Revision: https://phabricator.services.mozilla.com/D185962
This patch adds the ability to collect a Trace on chrome applications
(currently Chrome, Chromium, and Chromium-as-Release) using Browsertime.
The logic here is intended for gathering a Trace on page load tests.
Differential Revision: https://phabricator.services.mozilla.com/D183894
This patch adds a raptor profling superclass. This is due to the overlap between the
ChromeTrace class and the GeckoProfile class. This patch doesn't
complete the entire refactoring process but lays a foundation to follow
up on it.
Differential Revision: https://phabricator.services.mozilla.com/D186015
Fairly straightforward patch. I didn't add a test for this specifically,
because it turns out the previous tests would have been failing if I had just
correctly loaded the JSClass out of the BaseShape in the first place because
PlainObject has null class ops. We were just actually loading the proto
pointer before off the BaseShape, and then loading an offset from that which
just happened to usually be non-null, causing us to take the more conservative
path.
Depends on D185350
Differential Revision: https://phabricator.services.mozilla.com/D186170
We're seeing inconsistent handling of OOMs in the ICU library. This
patch changes the behaviour to crash on OOM rather than allowing
ICU to handle the allocation failure. The inconsistent handling in ICU
could lead to ICU being in an inconsistent state which could in turn
cause security problems. The safer alternative is to crash, but it's
possible this will lead to too high of crash rate. For now, we'll try
this on Nightly only and monitor crash reports to see what impact this
change has.
Differential Revision: https://phabricator.services.mozilla.com/D186226
be -> a34a6d37a663b21538d965992459248a1913439a
br -> 51a303af67d20008fd819768f8b4c6cacdf4f9ef
eu -> 78b923ede583aa9afcff7396c8616197aea07283
ka -> f1bc6b114379c8fa2bc5a875ff276b31d0977703
kab -> 8e6e1203e21ac0af92bff1b53bfe1687f93782aa
kk -> 74d85f3db0f2c6f3b43cdb40d49f7b6ef5762fd3
my -> aed15cb0a7d513ce95a10da22f5307d43caa9d66
sc -> dda0fb63b378cc669375275168a3f266125f44b9
sl -> 41d56edb904f5878a50b082d5535c25a78b19da7
vi -> 723a6891160273ebe2ecf3dee48a02a668821c0d
Previously the translations button would stay visible in reader
mode but no interact with the page when clicked. This patch
ensures that the translations button is no longer visible
once a user enters reader mode.
Differential Revision: https://phabricator.services.mozilla.com/D185607
This is a manually-rebased version of D145169, but with the protocol
header regenerated, various fixes and tweaks.
In particular we only check the pref once when asking for the protocol
now, the rest falls through from current_fractional_scale being 0.0.
I gave it a shot on KWin and stuff seems to work properly, but let's
keep it disabled by default for now and maybe enable on a separate bug.
Depends on D186198
Differential Revision: https://phabricator.services.mozilla.com/D186199
Use C++ constructor/destructors to deal with MozContainer state, which makes
stuff a bit simpler to reason about, and a bit more correct.
For example we were relying on an std::vector<> allocated via calloc() being
correct, which seems to hold but it's UB and a bit sketchy.
Differential Revision: https://phabricator.services.mozilla.com/D186198