Current implementation would fail to request a non-display wakelock on Windows when we ask for a background audio lock. The check for `audio-playing` with `locked-background` is incorrect. Therefore, adding new a variable to tell if we should request a non-display lock.
Differential Revision: https://phabricator.services.mozilla.com/D60201
--HG--
extra : moz-landing-system : lando
I think this probably only shows up with fission oop iframes, tabs probably avoid this path.
The problem occurs when we reconstruct the containing iframe for a style change, we briefly hide the child document, clearing the display list on the parent via ClearCachedResources. Then show it again, we attempt an empty transaction and this succeeds because there is nothing to stop it. (The non-wr case fails because the layer contents are missing and that causes the empty transaction to fail.)
So keep track if we have sent a display list to the parent to allow/disallow an empty transaction.
This fixes a couple webrender+fission reftest failures but it's also a general rendering bug in webrender+fission reproducible in a regular browser.
Differential Revision: https://phabricator.services.mozilla.com/D61577
--HG--
extra : moz-landing-system : lando
The debugger needs references to the DOM native functions for its whitelist
of pure functions that allow eager evaluation. These whitelist validations
can happen for many objects across many realms, so it is much easier if we
can pull these functions from a single central sandbox instead of trying to
pull them in from a specific content realm.
Differential Revision: https://phabricator.services.mozilla.com/D61964
--HG--
extra : moz-landing-system : lando
Before now, we used XUL elements as the menu for device selection on RDM.
We introduced the icon on the XUL menuitem in bug 1306198, but the UI on Ubuntu
became weird looking. In order to fix this, we could think to modify Linux
gadget, but we replace to HTML menu components we are using in DevTools with
considering deXUL as well.
Differential Revision: https://phabricator.services.mozilla.com/D61149
--HG--
extra : moz-landing-system : lando
Gets rid of `NS_NewThread`. Where it was used in testing, I gave the new named threads names relevant to their tests.
Differential Revision: https://phabricator.services.mozilla.com/D62475
--HG--
extra : source : 541b98270c9985c5bd3569ff3ff8bc6c3d3c650a
This patch adds a function to get an exported function in a remote process.
We need this implementation to address Bug 1604008, Bug 1608645, and Bug 1610790.
When `WindowsDllInterceptor` detours a function in a remote process, we used the
native `GetProcAddress` locally, and then detours the returned address in the
target process. The problem is if the caller's export table was modified, the
address returned from `GetProcAddress` might be invalid in the target process,
which is Bug 1604008.
I implemented `GetProcAddress` depending on both local and remote process image,
but it caused two regressions Bug 1608645 and Bug 1610790 because multiple
applications modify firefox's export table in multiple ways, such as replacing
an entry of EAT, replacing an RVA to Export section, or etc.
With this patch, we can use `PEExportSection<MMPolicy>::GetProcAddress` to get
an exported function in a remote process without relying on any local data so
that it's not impacted by modification of the local export table.
Differential Revision: https://phabricator.services.mozilla.com//D62315
Depends on D62314
This patch changes the entrypoint of test programs under mozglue/tests so that
a coming test program can handle a command string easily.
Differential Revision: https://phabricator.services.mozilla.com//D62314
In GCP we have the double the number of core compared to AWS
counterparts, but we use the same amount of memory. Request the builds
to be less parallel to avoid OOM.
Differential Revision: https://phabricator.services.mozilla.com//D62514
See bug 1598753 comment 1 for the analysis.
This patch is generated by
1. removing `os.path.join("css-values"),` in import-tests.py
2. removing the relevent annotations of css-values
3. running import-tests.py on a wpt repository at commit
15f199c91a72b0d51bf0a12b3b77827ecb5051ff.
Differential Revision: https://phabricator.services.mozilla.com/D62142
--HG--
extra : moz-landing-system : lando
The tools repo is no longer used, so remove the references to the path where it
was checked out.
Differential Revision: https://phabricator.services.mozilla.com/D62404
--HG--
extra : moz-landing-system : lando
In automation, `GECKO_PATH` always refers to the source directory, so use that in mozharness
rather than assuming it is somewhere relative to `work_dir`.
Differential Revision: https://phabricator.services.mozilla.com/D62403
--HG--
extra : moz-landing-system : lando
The original code hard-coded the path of the source directory. Instead, use the
actual source directory.
Differential Revision: https://phabricator.services.mozilla.com/D62368
--HG--
extra : moz-landing-system : lando
As child-src is no longer deprecated in the CSP level 3 spec, this removes the
console warning, since it's valid to use it as a fallback for frame-src and
worker-src.
Differential Revision: https://phabricator.services.mozilla.com/D62034
--HG--
extra : moz-landing-system : lando
We don't actually share _that_ much code across them. This makes callers clearer
and code less confusing, IMHO.
This also has the benefit of not autocompleting path from devtools for
shape-outside.
Differential Revision: https://phabricator.services.mozilla.com/D62373
--HG--
extra : moz-landing-system : lando
This issue is race condition of Gecko and Android/Java text change.
When VKB doesn't use `InputConnection.sendKeyEvent` for keyboard input, it use `android.text.Editable`. So keypress event is often emulated by text change of `Editable`. When dispatching keypress, if Gecko's text and Java's text is synchronized via `icSyncShadowText`, caret/cursor position is mismatched. So we shouldn't sync Java text (`Editable`) with Gecko's text.
So I would like to block for synchronizing text change during keypress is dispatched.
Differential Revision: https://phabricator.services.mozilla.com/D62013
--HG--
extra : moz-landing-system : lando
Now, we have `SpecialPowers` to use `DOMWindowUtils`. Therefore,
`test_bug1151186.html` can be a mochitest-plain and it's better since the
test checks behavior on web apps.
Depends on D62396
Differential Revision: https://phabricator.services.mozilla.com/D62397
--HG--
rename : widget/tests/test_bug1151186.html => editor/libeditor/tests/test_bug1151186.html
extra : moz-landing-system : lando
For testing the original symptom of bug 1151186, this test needs to set focus
to a `contenteditable` editor from `focus` event listener of the documen.
However, according to the oranges, `focus` event for the document is not fired
as expected only on Linux. The reason is, the document sometimes does not get
focus automatically. Therefore, this patch tries to listen `focus` event first
for keeping original path. But if the document is not activated automatically,
sets focus to its window when next macro task runs.
Differential Revision: https://phabricator.services.mozilla.com/D62396
--HG--
extra : moz-landing-system : lando
This test is for checking if we can select correct media session as an active media session within a tab.
Differential Revision: https://phabricator.services.mozilla.com/D61045
--HG--
extra : moz-landing-system : lando
This test is for checking if we can trigger media session's action handler via media control keys.
Differential Revision: https://phabricator.services.mozilla.com/D60938
--HG--
extra : moz-landing-system : lando
Since we can determine which browsing context contains an active media session via `MediaSessionController`, we should notify that context directly in order to access correct media session. Especially after we enable Fission, browsing contexts could exist in different processes, so choosing the right context to notify is really important.
Differential Revision: https://phabricator.services.mozilla.com/D60937
--HG--
extra : moz-landing-system : lando
Update media session status from the content process to the chrome process in order to track all alive media session.
Differential Revision: https://phabricator.services.mozilla.com/D60936
--HG--
extra : moz-landing-system : lando
Create a class `MediaSessionController` which is used to track all alive media sessions within a tab and store their metadata which could be used to show on the virtual media control interface. That class would also be responsible to select an active media session with in a tab.
Differential Revision: https://phabricator.services.mozilla.com/D60935
--HG--
extra : moz-landing-system : lando