The rest of the patches in this stack will remove WatcherActor traits.
But the call sites should still check that the watcher is available.
Making the argument optional allows to reuse the same method as we remove the traits.
Differential Revision: https://phabricator.services.mozilla.com/D114216
It used to be more convenient to store them in separate arrays but with the new occlusion culling code we don't benefit from it and have to undo it to traverse tiles from front to back.
This is a cleanup patch that should not change the behavior of the code.
Differential Revision: https://phabricator.services.mozilla.com/D113989
This patch introduces a simple culling algorithm that splits compositor tiles into only their visible parts, removing the need for a depth buffer. This reduces the draw-call count as well well as the memory usage and bandwidth associated with the depth buffer.
Differential Revision: https://phabricator.services.mozilla.com/D113532
Now that I finally wrote a test, I also noticed that we were trying to write the
checkbox permission value when the dialog gets aborted (ie removed because the
page disappears due to another page loading or the tab/window being closed),
which then threw an exception because the event target is the window rather than
the dialog element, and dialog.querySelector in maybeSetAllowTabSwitchPermission
fails.
Differential Revision: https://phabricator.services.mozilla.com/D114023
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
The parallel run of sequences of "clean; clippy; clean" creates race
conditions that alter the results of clippy and can mask errors.
Moreover, chances are clippy is not allowing any parallelization
anyways, because with two concurrent clippy running, one will be waiting
for the other because of cargo locking.
This turns the current intermittent failure into a permanent one.
Differential Revision: https://phabricator.services.mozilla.com/D114209
In some BMP files, data offset is set to 0 and in this case pixel data immediatly follow color table so don't fail in such a case.
Differential Revision: https://phabricator.services.mozilla.com/D113395
For a shutdown attempt all windows should be informed first so
that various components can safely do clean-up work.
If something prevents the shutdown the Remote Agent should force it.
This will make sure that no application process remains,
or would have to be force killed externally via its PID.
Differential Revision: https://phabricator.services.mozilla.com/D105490
Introduce moz.configure, WasmFeatures, and StaticPrefList.yaml
machinery to define a config option for relaxed SIMD
(https://github.com/WebAssembly/relaxed-simd). At the moment, there
are no defined relaxed SIMD opcodes, but a dozen or so are in the
works. This just sets us up for implementing those.
Differential Revision: https://phabricator.services.mozilla.com/D114117
when the setter should not throw because there are no events in the timeline
and the time is known valid.
This will allow us to make SetValue() throw when it conflicts with a
setValueCurveAtTime() curve.
Depends on D113937
Differential Revision: https://phabricator.services.mozilla.com/D113938
If an iframe has complex clips, we need to skip including them
in the iframe specific clip applied to the tile cache, as that
path only supports rectangle clips.
Differential Revision: https://phabricator.services.mozilla.com/D114190
This was an old example / proof of concept of directly drawing
to a DirectComposition surface.
We now have the example-compositor/ project that shows how to
integrate with DirectComposition on Windows and Wayland on
Linux, in addition to a shipping implementation in Gecko for
CoreAnimation and DirectComposition.
Differential Revision: https://phabricator.services.mozilla.com/D113052
Add more logging to test file_fullscreen-scrollbar.html (executed by dom/html/test/test_fullscreen-api.html) so it is easier to understand failures.
Differential Revision: https://phabricator.services.mozilla.com/D114187
If we optimize a root level blend container to be a tile cache, we
need to ensure we don't promote compositor surfaces within this slice
as it can result in incorrect blending.
Differential Revision: https://phabricator.services.mozilla.com/D114176
I have still yet to reproduce this. However, it looks like it could happen if
two documents load the same script and they both finish at the same time
and one clears the mCurrentScriptProto of the other.
Differential Revision: https://phabricator.services.mozilla.com/D113602