Animation::FlushStyle() gets called only for CSS animations/transitions'
playState changes in JS or ready Promise for CSS animations. In either case
throttled animation state, which is, to be precise, transformed position or
opacity value on the compositor, doesn't affect those results.
The first test case for CSS animations and the first test case for CSS
transitions in this patch fail without this fix.
MozReview-Commit-ID: EVym4qputL4
--HG--
extra : rebase_source : 12524c7db1d59da69687bb123fc65ad4301f5527
The old code would ignore mThresholds if we happened to update when the
observed element was edge-adjacent to its root. This could cause spurious
notifications if it happened to run during a CSS transformation. The new code
more closely follows the spec with a slight deviation where the code treats
all values less than the smallest passed-in threshold as equivalent (when
looking at previousIndex). This matches Chrome's implementation and the tests.
MozReview-Commit-ID: 7oAh1EdjMiY
--HG--
extra : rebase_source : 46de4aee9c7da36bd1b41c07fa9b6bbe8ee15dc0
Use a more specific entry point for the test than
"http://mochitest.test:8888" to make sure that the test is only started
once, when the test opens a tab with the entry point.
MozReview-Commit-ID: 7iAFREDuACu
--HG--
extra : rebase_source : 6ab46b1114dc824f29d0bf21ffa784cd14651447
(Note: this is still disabled by default for non-DevEdition and non-Nightly)
MozReview-Commit-ID: FVgZD3IQSHW
--HG--
extra : rebase_source : b3bac5d476bce61da190655b3bb5c7b044175bb4
Instead of passing a WrPipelineInfo* to C++ code, we can now pass the
WrPipelineInfo directly. C++ code can access the info members without
having to call back into rust code, so the wr_pipeline_info* iterator
methods can be removed. Deleting the structure still requires passing it
back to rust.
MozReview-Commit-ID: HYcPX3mCGKW
--HG--
extra : rebase_source : f4b781cfc463c8e196f67a6e178ce4ce44a9464a
This structure makes it more ergonomic to access vectors from C++. A
Vec<T> can be converted to FfiVec<T> which can safely cross the FFI
boundary. That provides an easy to use read-only access mechanism to the
vector contents. The FfiVec must be returned to rust code to be freed
properly.
MozReview-Commit-ID: AdIyEsjrPSZ
--HG--
extra : rebase_source : db87eb55e19c2d129f4c8a8155b03d9fbfc98199
We need to side-step existing cross-origin checks in Performance Timing code
when the caller is a web extension content script that otherwise has permission
to access the cross-origin resource.
MozReview-Commit-ID: 8IgtqZgPWgY
--HG--
extra : rebase_source : e8152c5d8ab32096d1ff7f97311c1b43b57c3694
We're already going to copy the data when we initialize the
nsISupportsString here. There's no need to copy the data into a
temporary object before passing it in to the nsISupportsString.
And as long as we're fixing the big mistakes, we might as well fix the
small ones, like copying the flavor string from the IPC object.
This patch rewrites the rust-url-capi crate as the mozurl crate, which
provides a threadsafe MozURL object which is compatible with the
previous MozURL class.
Creating a MozURL this way performs a single allocation, which contains
only a rust-url Url object and an atomic refcnt, however it is fully
compatible with the C++ RefPtr type.
This patch also exposes methods for accessing dependent substrings of
the serialized spec, meaning that string copies can be avoided in many
situations when inspecting attributes of the MozURL.
--HG--
rename : netwerk/base/rust-url-capi/.gitignore => netwerk/base/mozurl/.gitignore