Added two fields:
1. Collect if the current shell is opened via vscode.
2. Connect if it's a remote ssh connection n the current shell.
Differential Revision: https://phabricator.services.mozilla.com/D114323
If a user is able to get D3D11, and Software WebRender hasn't been
forced on (either by the Fission experiment or our pref), then we prefer
D3D11 in late beta and release. This will allow users who start with
D3D11 in the GPU process, to fallback to Software WebRender in the GPU
process.
Differential Revision: https://phabricator.services.mozilla.com/D114286
The svg ones are just fuzz, but the aspect-ratio one is too much to
reasonably annotate and is a test bug. The canvas one I need to look
into.
MANUAL PUSH: greening up tests on a CLOSED TREE
On Mali-G77 devices we have seen an flickering black bars appear on
pages where we are compositing with an empty dirty region. In such
cases we end up calling eglSetDamageRegion with an empty region,
followed by glClear with an empty scissor rect. Technically calling
eglSetDamageRegion with an empty dirty region is allowed, it just
means you cannot render to the backbuffer at all that frame. The
subsequent glClear call should therefore be fine since an empty
scissor rect is set, but the Mali driver does not like it.
This patch skips calling glClear altogether if the dirty region is
empty, preventing the black bars from appearing.
Differential Revision: https://phabricator.services.mozilla.com/D114346
Allow transitions to be remotely configured. Use hooks to insert transition-{in,out} class when adding and removing screens. Specify desired in/out styles to transition from/to. Also flex/push buttons/steps to the bottom to be the same position on the latter screens.
Differential Revision: https://phabricator.services.mozilla.com/D114192
- Add a main header to the page
- Clean up the conversion from MDN a bit
- Modify type table to list-table to make it a bit easier to maintain
- Remove documentation for obsolete NavigatorProperty extended attribute
- Add a warning that JS-implemented WebIDL is deprecated
Depends on D113949
Differential Revision: https://phabricator.services.mozilla.com/D113950
This should be mostly straight-forward, since we have code for this
anyways for image-set() and srcset.
The only thing is that we were using floats for resolution, but since
EXIF allows you to scale each axis separately, we now need to pass an
image::Resolution instead.
The main outstanding issue is the spec comment mentioned in the previous
patch, about what happens if you have srcset/image-set and the image
density specified together. For now I've implemented what the
image-set() spec says, but this is subject to change before shipping of
course.
Differential Revision: https://phabricator.services.mozilla.com/D113265
In bug 1696905 I changed how clear tiles are rendered from multiply blend to opaque, however it breaks window controls on Windows 8 (the only thing that clear tiles are used for). This patch reverts clear tiles to the previous behavior.
I'm not sure how to test this part of the code because it depends on the widget integration code having something to show behind the window.
Differential Revision: https://phabricator.services.mozilla.com/D114327
In bug 1696905 I changed how clear tiles are rendered from multiply blend to opaque, however it breaks window controls on Windows 8 (the only thing that clear tiles are used for). This patch reverts clear tiles to the previous behavior.
I'm not sure how to test this part of the code because it depends on the widget integration code having something to show behind the window.
Differential Revision: https://phabricator.services.mozilla.com/D114327
- Add a main header to the page
- Clean up the conversion from MDN a bit
- Modify type table to list-table to make it a bit easier to maintain
- Remove documentation for obsolete NavigatorProperty extended attribute
- Add a warning that JS-implemented WebIDL is deprecated
Depends on D113949
Differential Revision: https://phabricator.services.mozilla.com/D113950
We're using frame-helper#createTargets to set the flag as we're already looping
over the browsing context we need to handle.
We keep a Map of watcher/observer so we can remove the observer when the targets
get destroyed.
For the browser toolbox top-level browsing context we keep setting the flag in
the browsing context target actor as it lives in the parent process, and we
don't have watcher support enabled by default, so frame-helper wouldn't be hit.
frame-helper is not used in the legacy browser toolbox, so we won't set the flag
on tabs when devtools.browsertoolbox.fission is false, but that's okay it's not
currently set anyway in this setup.
Tests are added with multiple cases to ensure the flag is set in different situations.
Differential Revision: https://phabricator.services.mozilla.com/D113628
Fixed the following:
- methods called `to_*` usually take self by reference; consider choosing
a less ambiguous name (clippy::wrong_self_convention)
- an implementation of `From` is preferred since it gives you `Into<_>`
for free where the reverse isn't true (clippy::from_over_into)
- manual implementation of `Option::map` (clippy::manual_map)
- comparing with null is better expressed by the `.is_null()` method
(clippy::cmp_null)
- use of `unwrap_or` followed by a function call (clippy::or_fun_call)
- you don't need to add `&` to all patterns (clippy::match_ref_pats)
- writing `&PathBuf` instead of `&Path` involves a new object where a
slice will do (clippy::ptr_arg)
Locally ignored:
- 6 bindings with single-character names in scope (clippy::many_single_char_names)
Globally ignored:
- this public function dereferences a raw pointer but is not marked
`unsafe` (clippy::not_unsafe_ptr_arg_deref)
- unsafe function's docs miss `# Safety` section (clippy::missing_safety_doc)
Differential Revision: https://phabricator.services.mozilla.com/D114319
In short, this patch adds support for vector registers on ARM64, including
machinery to save and restore them on the stack. It also cleans up and
documents some of the save/restore logic.
There are many changes:
* We add a new type, Bitset128, that can represent the register set on ARM64
with vector registers. This is a mostly-constexpr class with two uint64_t's
that behaves like a 128-bit integer in the cases we need for register sets.
* Since the new type is 16 bytes wide, misc code throughout the system that
switches on register set width is updated to handle the case.
* The FloatRegisters::SetType is changed to use Bitset128, and various
constants defined in ARM64 FloatRegisters are updated to reflect this. As
the constants are constexpr, we can be reasonably sure that there are no
initialization-order problems introduced by this.
* The registers in ARM64 FloatRegisters are rearranged so that single comes
before double, which comes before vector registers, to conform to the order
used everywhere else.
* In MacroAssembler.h, the semantics required of PushRegsInMask and its
associated functions have been further documented.
* For ARM64, PushRegsInMask and its associated functions (PushRegsInMask,
storeRegsInMask, PopRegsInMaskIgnore, ReduceSetForPush, GetPushSizeInBytes,
getRegisterDumpOffsetInBytes, and new function
FloatRegister::BroadcastToAllSizes), have been rewritten to handle
saving/restoring of SIMD registers. PushRegsInMask and storeRegsInMask have
been merged into a single function so as to reduce code duplication and the
associated danger of mistakenly writing different formats.
* In many places that are ARM64-specific, code guarded by `#ifndef
ENABLE_WASM_SIMD` has been removed, so that in effect we always assume that
SIMD register state is available on the target, and can be loaded and
stored, even though we haven't yet enabled ARM64 SIMD support per se.
* The routines PushRegsInMaskForWasmStubs, PopRegsInMaskForWasmStubs and
GetPushSizeInBytesForWasmStubs have been removed, since their operation has
now been subsumed into their non-`ForWasmStubs` equivalents.
* In Safepoints.cpp, {Write,Read}FloatRegisterMask have been rewritten to
support 128-bit sets. One side effect is that reads/writes of 64-bit chunks
have been changed to use new routines {write,read}Unsigned64 rather than two
uses of {write,read}Unsigned. The effect is to save one byte when
bits 64:32 are all zero.
* Ridealong cleanup: the constant ION_FRAME_SLACK_SIZE has been removed. It
has no known uses.
* Note that RABALDR_SIDEALLOC_V128 is still in place in the wasm baseline
compiler. This patch does not remove it.
Differential Revision: https://phabricator.services.mozilla.com/D100116
This can make scene building up to 10% faster on some pages (such
as the youtube.com front page) that use a large number of clips.
Differential Revision: https://phabricator.services.mozilla.com/D114312
There are two kinds of fixes here.
The first is calling waitToClearOutAnyPotentialScrolls after anything that might cause scrolls to make sure all scrolls are done before we move on in the test (so they don't mess us up later). Calling focus on an element is one thing that causes scrolling that may not be obvious.
The second is using promiseTransformEnd to be sure the zoom to focused input animation is done.
Differential Revision: https://phabricator.services.mozilla.com/D113908