Recently window resize on Wayland produces flickering/rendering artifacts because
window background is randomly cleared due to actual window size changes.
We recently query widget size and do clear/fullscreen update when the size changes.
To avoid that, get widget size once at WindowSurfaceWayland::Lock() and use it
until next WindowSurfaceWayland::Lock(). Also don't to switch wayland back buffers
until there's really fullscreen update from compositor.
This patch:
- Use mLockedScreenRect to store window size at WindowSurfaceWayland::Lock(). It's used
to detect widget resize, when it happens throw away all cached painting and wait for
full screen update.
- Use mBufferScreenRect to store size of wayland back buffer and pass it
instead of actual widget size we used before this patch. This ensures all our
drawing matches the buffer size.
- Rename aFullScreenUpdate to aCanSwitchBuffer at LockWaylandBuffer() to stress
actual meaning - we can/can't switch back buffers for partial drawing and we need to
wait until recent back buffer is released by compositor.
Differential Revision: https://phabricator.services.mozilla.com/D43263
--HG--
extra : moz-landing-system : lando
This change surfaces errors faster, and ensures that we don't silently
end up with empty crashreporter symbols if `dump_syms` can't run for
some reason.
Differential Revision: https://phabricator.services.mozilla.com/D43520
--HG--
extra : moz-landing-system : lando
Pages that use 'new Function' heavily create a lot of ScriptSource
objects and waste memory duplicating filenames. This is particularly
problematic if the filename is a data-url. Use the existing runtime
strings cache as a straightforward way to share this. The source text
already is using this cache.
For the XDR case, we expect filenames to almost always be unique so we
can eagerly allocate the owned strings without worrying.
Differential Revision: https://phabricator.services.mozilla.com/D43186
--HG--
extra : moz-landing-system : lando
Add accessors to avoid direct access to fields so storage can be changed
later.
Differential Revision: https://phabricator.services.mozilla.com/D43185
--HG--
extra : moz-landing-system : lando
Use accessors instead of directly accessing fields so that we can later
do automatic deduplication. Add setters that can be passed owned strings
when they are available.
Replace the XDRState::codeCString mechanism entirely. First restrict
string lengths to JSString::MAX_LENGTH as a reasonable upper bound.
Introduce XDRState::codeCharsZ to generate owned strings while decoding.
In practice we would duplicate the string anyways and this better
supports unaligned and endian-safe char16_t strings as well.
Together we do the same number of copies as before.
Differential Revision: https://phabricator.services.mozilla.com/D43184
--HG--
extra : moz-landing-system : lando
Its value was at all places where it's read equal to
`outputLineBreak` which is now used instead.
Differential Revision: https://phabricator.services.mozilla.com/D43418
--HG--
extra : moz-landing-system : lando
This includes the following commands:
* dxr
* google
* mdn
* search
* searchfox
Differential Revision: https://phabricator.services.mozilla.com/D36843
--HG--
extra : moz-landing-system : lando
Credit: mars for making the shell POSIX compliant
This embeds a blacklist of every mach command that needs to run with Python 2
directly in the mach driver itself. Initially this is every mach command. We
then use a bit of shell to determine whether the command being run needs Python
2 or 3.
While this approach may seem a bit hacky, it has several benefits:
1. No need to add complex machinery in mach's registration code.
2. No need to spawn two separate Python interpreters in the event a different
Python from the original interpreter is needed.
3. Perf impact is negligible.
4. New commands are Python 3 by default.
It is also only a temporary hack. Once all commands are running with Python 3,
we can revert back to the original mach driver.
Differential Revision: https://phabricator.services.mozilla.com/D36103
--HG--
extra : moz-landing-system : lando
Use of 'BaseException.message` was deprecated in Python 2.6 (and removed in
Python 3). We should rely on the exception's '__str__' instead.
We also need to ensure the mozconfig subprocess' output is text when formatting
it into the message with Py3.
Differential Revision: https://phabricator.services.mozilla.com/D42843
--HG--
extra : moz-landing-system : lando
Add dark mode support for horizontal-lockup.svg for Developer and Nightly about:newinstall page
Differential Revision: https://phabricator.services.mozilla.com/D42898
--HG--
extra : moz-landing-system : lando
For tests with ids like foo/bar?baz/foobar we were incorrectly setting the manifest test_id
to foobar rather than bar?baz/foobar. Fix this by determining the length of the path up to
the last / and trimming that off the front of the test id. This approach avoids
reserializing the url.
Differential Revision: https://phabricator.services.mozilla.com/D43579
--HG--
extra : moz-landing-system : lando
This changes the hard-limit of `RLIMIT_RTTIME` to be the maximum available
(200ms on my system), and keep the soft limit to the same number.
Having different numbers allow catching SIGXCPU before getting SIGKILL.
Differential Revision: https://phabricator.services.mozilla.com/D43402
--HG--
extra : moz-landing-system : lando
As we will allow user inputs on editable content to activate document, we should remove them from black list test.
Differential Revision: https://phabricator.services.mozilla.com/D43533
--HG--
extra : moz-landing-system : lando
As Chrome and Safari didn't block autoplay when haiving user input on editable content, it causes a compatible issue on Firefox because we only allow user inputs happening on non-editable content to activate document.
It seems that we don't really need to restrict that user inputs, which can activate document, should only occur on non-editable content.
Even if they occur on non-editable content, it might still have a chance to annoy user, it's totally depending on websites' design.
Differential Revision: https://phabricator.services.mozilla.com/D43532
--HG--
extra : moz-landing-system : lando