This implements the idea of automatically setting a content proc's
render root based on the render root enclosing the iframe that
points to it. There was a bit of cleanup in here that was a bit
tricky to extract from the core patch revolving around how we
use the Api(...) helper. This was to avoid the situation where
we use the Api(...) helper before our render root is initialized,
when we don't actually have to. I.e., when we just want the root
WebRenderAPI in all cases.
An alternative to this approach could be to fully built out the
WebRender transactions and just queue those up to be sent. However,
transaction building has various side effects which are committed
before the transaction is actually sent, so we would have to build
out some scheme for deferring those as well. This seemed simpler.
Patch primarily written by :dthayer
Differential Revision: https://phabricator.services.mozilla.com/D37078
--HG--
extra : moz-landing-system : lando
This splits out the inner bit of RecvEmptyTransaction to just iterate over
the documents once, rather than iterating over them individually. Originally
I ran into difficulties with this and then left it on the table, but I think
it was enabled by splitting out the epochs in pipeline info by renderroot.
Differential Revision: https://phabricator.services.mozilla.com/D35123
--HG--
extra : moz-landing-system : lando
Replace `serde`-derived `bincode` with custom binary
serialization/deserialization that generates more efficient code at rustc
`opt-level = 2`.
Differential Revision: https://phabricator.services.mozilla.com/D32782
--HG--
extra : moz-landing-system : lando
This change introduces the stubs for nsFxrCommandLineHandler,
which will support launching Firefox Reality on Desktop.
Differential Revision: https://phabricator.services.mozilla.com/D37760
--HG--
extra : moz-landing-system : lando
As described in https://bugzilla.mozilla.org/show_bug.cgi?id=1562122#c5,
this precomputed argument is not our children's block-size, but is the
block-end edge of children because aState.mBCoord is initialized as our
border-padding block-start in BlockReflowInput's constructor.
I also delete the sentence "The final block-size that is used in
aMetrics will be set ..." because this is the implementation details of
this function, and is likely to become inaccurate after considering the
block split by column-span.
Depends on D37625
Differential Revision: https://phabricator.services.mozilla.com/D37626
--HG--
extra : moz-landing-system : lando
Because aStatus is also used as an output argument, caching aStatus as
our children's reflow status can and make the logic that morphs aStatus
to our reflow status easier to follow. And this helps the patch I'm
going to add for computing the block-size for column-span split.
Depends on D37624
Differential Revision: https://phabricator.services.mozilla.com/D37625
--HG--
extra : moz-landing-system : lando
We usually use reference to manipulate nsReflowStatus like in Reflow().
The documentation for aStatus needs edit, and is done in next part.
Depends on D37623
Differential Revision: https://phabricator.services.mozilla.com/D37624
--HG--
extra : moz-landing-system : lando
ComputeFinalBSize() doesn't need to modify the final inline-size, so we
don't need to pass the entire LogicalSize into it.
Also, aReflowInput.AvailableBSize() is used multiple times. Cache it to
shorten some statements.
Differential Revision: https://phabricator.services.mozilla.com/D37623
--HG--
extra : moz-landing-system : lando
Replace `serde`-derived `bincode` with custom binary
serialization/deserialization that generates more efficient code at rustc
`opt-level = 2`.
Differential Revision: https://phabricator.services.mozilla.com/D32782
--HG--
extra : moz-landing-system : lando
* Add a new optional 'notifySaved' argument to promptToSavePassword
* Give the notification an attention style when showing a login doorhanger for an auto-saved login with a generated password
Differential Revision: https://phabricator.services.mozilla.com/D37661
--HG--
extra : moz-landing-system : lando
And remove some of the ::placeholder and ::cue hacks where we need to use
!important to make the property not apply for content but apply on UA sheets.
The comment about the white-space property was wrong, we don't enforce it with
!important in the UA stylesheets for <input> (we do for <textarea> though), so
I've kept the flag since it really applies.
Differential Revision: https://phabricator.services.mozilla.com/D37717
--HG--
extra : moz-landing-system : lando
Summary:
The share drawable is used in multiple places in code.
Android would cache it and subsequently serve a now dirty version of it with
transformations potentially added.
By mutating it into a new drawable we ensure we'll always have it clean.
Reviewers: VladBaicu
Reviewed By: VladBaicu
Subscribers: emilio
Bug #: 1529557
Differential Revision: https://phabricator.services.mozilla.com/D37734
--HG--
extra : rebase_source : 864946cb3d5a256b26a380fbf6a0cbe70a20ca12
extra : histedit_source : 941d909f040426046d71028b21644d0652fa1238
This optimisation added to the specification doesn't improve performance for us,
because we're already optimising the lookups in Promise.all & co. So we only
need to perform the initial check for `PromiseLookup::isDefaultPromiseState`
outside of the main loop in `CommonPerformPromiseAllRace` and that's more or
less all what needs to be changed.
Differential Revision: https://phabricator.services.mozilla.com/D37531
--HG--
extra : moz-landing-system : lando