Since targetFronts now have isTopLevel and targetType properties, we can directly use
those, as the targetFront is included in the callback parameter.
This patch remove those properties and refactor consumer code.
Differential Revision: https://phabricator.services.mozilla.com/D74651
We used to read the contents of the clipboard to tell if paste was enabled,
that unfortunately means updating commands was extremely slow for large
clipboard data.
After this change we only check the data flavors. This means paste will be
enabled more often, even for unsupported strings, but commands updating will
be much faster. Places updates commands often, so this is quite useful.
Differential Revision: https://phabricator.services.mozilla.com/D75202
When the saveAs option is true, instead of always starting in the
default download directory, remember and reuse the last directory
that the user chose. Unless browser.download.lastDir.savePerSite is
set to false, the last download directory is saved on a per-extension
basis.
Differential Revision: https://phabricator.services.mozilla.com/D67060
Sorry for the big patch. This is a straight rewrite of shell/ModuleLoader.js in C++. It's mostly straigtforward but there were a couple of clunky parts: using promises/closures from C++ was rather verbose and I had to write some string utilities.
Differential Revision: https://phabricator.services.mozilla.com/D75271
The current code will only set the TranmissionOffset extension if
capture_time_ms is > 0, but when adjusting timestamps for rtx packets, it is
adjusted without first checking to see if it is valid, which will cause invalid
values of capture_time_ms to be written to TranmissionOffset, leading to assertion
failures.
This bug is still present on tip of libwebrtc, so we'll also need to prepare a
patch for upstream.
Depends on D74842
Differential Revision: https://phabricator.services.mozilla.com/D75528
This imports a few fixes from tip of libwebrtc, which now supports mid, rid
and rrid. The rtx packet is now allocated as max_packet_size_, which is
necessary to have enough capacity for the rrid. It takes the
CopyHeaderAndExtensionsToRtxPacket function from upstream, which omits
copying extensions that should not be copied over, such as rid. It is necessary
to make AllocateExtension and FindExtension public in order for this
function to work.
It then copies the rid from the source packet over to rrid in the rtx packet.
Upstream has code for this as well, but taking it would require more
extensive changes to our copy of libwebrtc. We can drop these local
modifications with the next update.
Differential Revision: https://phabricator.services.mozilla.com/D74840
I skimmed the original build error log and missed there was a second issue.
The original drop-subtyping patches added a `readRefType` function to
decoder and conditionally compiled it. This function is used by
readRefNull, which is not conditionally compiled. The pattern used for
disabling ref-types instructions so far is to conditionally compile the
switches to ignore the op-code but still compile the WasmOpIter::read*
method. This commit removes the conditional around `readRefType` to
make that work.
From local testing on a beta build, there are also two test failures.
* Missing ref.null type immediate on test that's not run by default
* Missing skip-if reftypes guard on multi-value
Differential Revision: https://phabricator.services.mozilla.com/D75339
The initialization costs of the TabList constructors is very small compared to
the cost of actually calling _populate, so instead of calling init() from an
idle task, we can just wait until the view actually needs to be shown.
Differential Revision: https://phabricator.services.mozilla.com/D73946
this improves the assertion messages, adds issue templates, and implements `From<TextureFormat>` for `TextureComponentType`.
Differential Revision: https://phabricator.services.mozilla.com/D75322
The bugbug_debug algorithm wasn't a very high performer, but combining it with
'disperse' may yield some interesting results.
Differential Revision: https://phabricator.services.mozilla.com/D75401
This feature A) scheduled way too many tasks, and B) won't be that useful anyway once we
switch to manifest-scheduling.
Differential Revision: https://phabricator.services.mozilla.com/D75399
We do this by keeping the unexpected frame in mReorderQueue, and outputting it later when the caller is expecting frames.
Differential Revision: https://phabricator.services.mozilla.com/D75116
If we're racing cache with network and the network wins we don't have a cache entry for writing the downloaded data. In this case nsHttpChannel::MaybeCreateCacheEntryWhenRCWN() creates the entry synchronously by calling nsICacheStorage::openTruncate() before we initialize cache entry for writing.
Differential Revision: https://phabricator.services.mozilla.com/D74660
If the script itemizer interrupts runs on encountering Script=Unknown, the PUA character will
be shaped separately from its context and therefore OpenType features cannot take effect.
Allowing characters with Script=Unknown to be "adopted" into the surrounding run makes glyph
shaping possible, where a font wants to apply OpenType features such as ligation, kerning,
or diacritic positioning between a PUA codepoint and the adjacent non-PUA characters.
Differential Revision: https://phabricator.services.mozilla.com/D75067
In bug 1470348 we started to detach all SurfaceTextures from the
current GL context in CompositorOGL::Pause(). This was required for
VR, so that when the VR presentation was entered the SurfaceTextures
could be attached to the VR context instead.
When RenderCompositorEGL was implemented for webrender, we copied the
call to detach from CompositorOGL. However, due to extra complexity in
webrender's threading model, this is causing assertion failures.
VR no longer relies upon the SurfaceTextures being detached when the
compositor is paused, as it now uses its own SurfaceTexture
set. Therefore we can remove the detach call from both
CompositorOGL::Pause and RenderCompositorEGL::Pause.
Differential Revision: https://phabricator.services.mozilla.com/D74832
It is not obvious that the dict is an internal implementation detail of the
NSPrintInfo, so it was confusing to me that in some places setters are using a
dict but getters are using NSPrintInfo methods. This hopefully makes the code
simpler and easier to understand.
Differential Revision: https://phabricator.services.mozilla.com/D74543