The WebDriver spec doesn't allow using a name for the frame to switch to.
Also it's only used in Marionette unit tests for chrome scope
Differential Revision: https://phabricator.services.mozilla.com/D83082
- Apply pointer guidelines to ClientSource getter.
- When freezing/thawing WorkerPrivate, check if the client/global is null. It seems possible that the client is null because the WorkerPrivate can remain registered to the RuntimeService even if it failed to create its global, and freezing/thawing is done through the RuntimeService. The other two callsites to get the client won't execute unless CompileScriptRunnable successfully creates the client.
Differential Revision: https://phabricator.services.mozilla.com/D82482
This hooks the "monochrome" media query and co to the
nsIPrintSettings.printInColor setting.
This print setting we're using is not exposed in the print preview UI,
but you can test it setting the print.print_in_color preference to
"false", and then print preview will correctly show up greyscale'd.
Once this lands, the UI folks just have to use it as they see fit :)
I would've liked to add a proper rendering test, but the print reftests
check only whether the PDF text matches.
I could add a test to printpreview_helper.xhtml, but I'm refactoring
that file in bug 1648064 so I'd rather wait a bit and add it in a
separate bug. The test for the media feature should make sure that we
test that code path at least.
Differential Revision: https://phabricator.services.mozilla.com/D83552
The only possible behavior change is in
nsIFrame::MarkIntrinsicISizesDirty(). Before this patch, we clear
CachedFlexItemData for every child frame under nsFlexContainerFrame.
However, only flex items can have cache, so we can use IsFlexItem() to
replace the usage.
Differential Revision: https://phabricator.services.mozilla.com/D83454
It's possible that the dialog is closed while we are processing
the request, and we'd deferencing a null pointer for such case.
Differential Revision: https://phabricator.services.mozilla.com/D83531
Similar to the previous patch, `WSRunObject::NormalizeWhiteSpacesAround()` is
a wrapper to create `WSRunObject` instance for calling
`NormalizeWhiteSpacesAtEndOf()`, but it does not need to be `WSRunObject`'s
instance. Therefore, we can merge them.
Note that this renames the merged method to `NormalizeVisibleWhiteSpacesAt`.
Differential Revision: https://phabricator.services.mozilla.com/D82711
An accessible can be hidden twice in a mutation event queue. With the first
time representing a move. Instead of queueing a second hide event,
simply drop it.
Differential Revision: https://phabricator.services.mozilla.com/D83373
Whenever the audible state changes, we should always store the latest state but only notify the change after playing starts.
Differential Revision: https://phabricator.services.mozilla.com/D83549
These scripts don't call `build-clang.py`, they just repackage artifacts from other tasks that do.
I went with `repack` over `repackage` since that seems to be the established pattern in `taskcluster/scripts/misc/`.
Differential Revision: https://phabricator.services.mozilla.com/D83532
This removes the calculation method coordinatesRelativeToScreen in favor of
using the event-supplied screen coordinates. Those coordinates are scaled to
device coordinates to meet expectations of the sendNative methods.
Differential Revision: https://phabricator.services.mozilla.com/D74161
If there are mix-blend-mode items inside the async zoom container, the
BlendContainer can end up outside the async zoom container, at the top-level
stacking context. But this causes the blend mode to fail with WebRender.
Instead, if we are creating an async zoom container, we check to see if there
was a mix-blend-mode inside it, and create the blend container just inside
the async zoom container.
Differential Revision: https://phabricator.services.mozilla.com/D82186
Firefox often (according to the data already coming from Nightly) starts with
its window raised, causing the first window activity change to be a lower.
This causes a stopwatch error and us losing the entire first segment of
'activity'. Calculate it relative to subsession start so we don't lose this
signal.
Also write the parallel construction for user interaction events, allowing us
to treat starting Firefox as user activity.
Differential Revision: https://phabricator.services.mozilla.com/D83402
SwCompositor needs to send SWGL textures references safely to the SwComposite
thread. However, the SWGL context's texture store may grow and make accessing
these tables unsafe. To work around this, this patch adds a LockedResource
API that locks down access to these textures ahead of time both to ensure that
no table access is necessary and to help detect any unexpected modifications
of these textures while they are locked. These LockedResource objects can then
be composited safely in another thread without interfering with normal SWGL
operation in the original that that isn't simultaneously using these textures.
Differential Revision: https://phabricator.services.mozilla.com/D82666
This spawns a new SwComposite thread inside SwCompositor. Tile composite jobs
are submitted over a channel to the thread, with a condition being signaled
after all jobs are processed. The SwCompositor computes a dependency order for
the tiles based on whether it overlaps a tile that has been invalidated and
needs to be updated during the current frame. As tiles are gradually updated,
all tiles that would depend on the update as denoted by the dependency order get
submitted so that composition can proceed. Ultimately, this allows tile updates
and compositing to work in parallel, pipelining much of the cost of compositing.
Differential Revision: https://phabricator.services.mozilla.com/D82474
This restructures the WR Compositor interface a bit to support compositing
earlier in the frame. An invalidate_tile hook is added that gets called
first to signal that some picture cache tiles will be modified later in the
frame. The renderer then calls add_surface earlier before the picture cache
tiles are updated, so that any tiles that aren't invalid can proceed to
composite early before that. Finally, bind/unbind get called after so that
it can work potentially work in parallel with any tiles that are already
compositing early.
Differential Revision: https://phabricator.services.mozilla.com/D82473