Out-of-process WebGL needs GfxInfo to exist in the composition
process (which is the GPU process if it exists and the parent process
otherwise). This patch enables the Linux version of that component in
the GPU process; the IPC currently used to give content processes copies
of the parent's GPU info is extended to also send it to the GPU process.
Differential Revision: https://phabricator.services.mozilla.com/D85443
Now that we share the list code between GTK and Mac, there's no reason
for this. This also avoids work when getting the default printer name.
Differential Revision: https://phabricator.services.mozilla.com/D86345
Now that we share the list code between GTK and Mac, there's no reason
for this. This also avoids work when getting the default printer name.
Differential Revision: https://phabricator.services.mozilla.com/D86345
When user adds and sets widget.workspace-management preference value, use it as override to restore windows on particular worspaces.
Differential Revision: https://phabricator.services.mozilla.com/D86205
The resource file is always generated so being able to configure its name
is not useful. On the other hand, the way things are currently implemented,
the lack of RESFILE also makes RCFILE ignored, which we fix at the same
time.
And remove a spurious RESFILE in widget/windows/moz.build, where no binary
is produced, which means RESFILE had no meaning.
Differential Revision: https://phabricator.services.mozilla.com/D86154
The resource file is always generated so being able to configure its name
is not useful. On the other hand, the way things are currently implemented,
the lack of RESFILE also makes RCFILE ignored, which we fix at the same
time.
And remove a spurious RESFILE in widget/windows/moz.build, where no binary
is produced, which means RESFILE had no meaning.
Differential Revision: https://phabricator.services.mozilla.com/D86154
VAAPI HW surfaces are released at ReleaseUnusedVAAPIFrames() and we use DMABufSurface::IsUsed() flag
to detect unused surfaces. Then we call GetUnusedDMABufSurfaceWrapper() to get unused surfaces to
re-use them for decoding.
Because DMABufSurface::IsUsed() flag is updated asynchronously it may change
between ReleaseUnusedVAAPIFrames() and GetUnusedDMABufSurfaceWrapper() calls.
In that case GetUnusedDMABufSurfaceWrapper() may return unused but also unreleased surface
as it was marked as used in time of ReleaseUnusedVAAPIFrames() call.
In this patch explicitly release VAAPI data of any surface before we re-use it.
Also fail when we try to upload data to already used DMABufSurfaceYUV surface.
Differential Revision: https://phabricator.services.mozilla.com/D85842
On Mali-G71 and G72 we see artifacts when scrolling around pages, in the form of
black squares or bits of content appearing in the wrong location. This appears
to be due to a driver bug when calling glClear() to clear a picture cache tile
texture with a scissor rect set.
We encountered a similar issue on some Intel hardware in bug 1638672, and worked
around it by using a custom shader to clear the texture rather than
glClear. This change applies this work around to Mali-Gxx devices too.
Differential Revision: https://phabricator.services.mozilla.com/D85867
This is no worse than what we were doing.
In the future, instead of just querying the margin we may want to query
extra information that requires a DC in windows too or what not, for
example.
Differential Revision: https://phabricator.services.mozilla.com/D85919
This builds on top of bug 1656146 to compute the page information on a
background task, and return it via a promise.
Co-Authored-By: Erik Nordin <enordin@mozilla.com>
Differential Revision: https://phabricator.services.mozilla.com/D85865
This makes us put the copied string as-is into the clipboard, exclusively for the type:
text/plain;charset=utf-8
When pasting strings into Firefox, `\r` might still be converted to `\n`. So disable
part of the test in browser_removeUnsafeProtocolsFromURLBarPaste.js.
Differential Revision: https://phabricator.services.mozilla.com/D82224
- Set dmabuf surface UID in surface constructor, make DMABufSurface::SetUID() method private.
- Change dmabuf log key from 'WaylandDmabuf' to 'Dmabuf'.
Differential Revision: https://phabricator.services.mozilla.com/D85829
The abstract observer base classes are moved to a separate header file
nsRefreshObservers.h and the includes are adjusted accordingly.
Some method implementations are moved to the corresponding implementation files
to avoid the need to include the nsRefreshDriver.h file in the header.
Differential Revision: https://phabricator.services.mozilla.com/D85764
Otherwise when we try to call Deactivate on the direct manipulation manager (to balance the Activate call) we won't have the HWND pointer and so it won't balance and we will leak.
We call DestroyDirectManipulation in nsWindow::Destroy but it looks like nsWindow::OnDestroy can be called before nsWindow::Destroy.
Differential Revision: https://phabricator.services.mozilla.com/D85835