c49de061c1fab19f934574e959938c5500d1d080: Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika
Jed Davis <jld@mozilla.com> - Tue, 06 Jul 2021 07:42:42 +0000 - rev 584823
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika This patch launches content processes with the `MOZ_HEADLESS` env var set if they're using GTK with an X11 display (and there's no other reason they'd need GTK). The goal is to avoid exhausting Xorg's default limit of 256 clients if there are many content processes due to Fission. If these conditions are met, the content process doesn't need to eagerly connect to the X server. This does not affect the sandbox policy, and content processes can still use X if needed for, e.g., WebGL. The boolean pref `dom.ipc.avoid-gtk`, set by default, controls this feature. In the future it could also be extended to minimize GTK use with Wayland displays. Note that disabling `widget.non-native-theme.enabled`, which is also enabled by default, will restore the use of X11 in all content processes even if this pref is set; the alternative is that widgets wouldn't render in that case. This change will also save some memory for now-unnecessary instances of GTK's global state, and improve content process startup time. Remove also the temp pref dom.ipc.remote-mozIcon because it cannot work anymore with the content process being headless. Differential Revision: https://phabricator.services.mozilla.com/D112197
c1bd0996764c49174c9169fe5550905ce5dcef88: Bug 1635451 - Allow GLX to work in headless content processes. r=jgilbert
Jed Davis <jld@mozilla.com> - Tue, 06 Jul 2021 07:42:42 +0000 - rev 584822
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1635451 - Allow GLX to work in headless content processes. r=jgilbert This follows what we're already doing for EGL: a refcounted object which can own the X connection, where we hold a weak reference from the library object so that multiple contexts opportunistically share the display but we close the connection when the last context is freed/GCed. In a process where GTK is initialized, we borrow its display instead of opening a new one, which preserves the existing behavior. Differential Revision: https://phabricator.services.mozilla.com/D112195
2974b1ba2beb67be93502376968ff462921d0d5e: Bug 1635451 - Attempt to start WebGL even in headless mode. r=jgilbert
Jed Davis <jld@mozilla.com> - Tue, 06 Jul 2021 07:42:41 +0000 - rev 584821
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1635451 - Attempt to start WebGL even in headless mode. r=jgilbert Currently we return an error when creating a WebGL context in headless mode, but our WebGL implementation renders to an offscreen context, so in theory it could work normally in a headless browser, and in practice it already does work on some OSes. This patch removes that check; the attempt to use GL may fail, in which case we'll return an error to content. The main purpose of this patch is to run content processes with headless mode set in an otherwise non-headless browser, but it should also be useful for fully headless mode. Comments in bug NNNNNNN indicate that this change should be sufficient for headless WebGL on Windows and MacOS, although it may not have been extensively tested. Linux is more complicated. The EGL/X11 backend manages its own connection to the X server (indirectly via the EGL library); a later patch in this series allows doing that in GLX mode as well. Our Wayland support can't do this yet, but it should be possible. This patch also modifies the Linux sandbox policy so that content processes can connect to a local X server (via the file broker) even when the parent process is in headless mode. Differential Revision: https://phabricator.services.mozilla.com/D118721
a83914c4bef76a513c2036911355389f7e9edae8: Bug 1717726 - Add a debug-only assertion disallowing remote <browser>s or <iframe>s inside nsDeckFrame. r=tnikkel
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 06 Jul 2021 07:38:06 +0000 - rev 584820
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1717726 - Add a debug-only assertion disallowing remote <browser>s or <iframe>s inside nsDeckFrame. r=tnikkel The background to have this assertion is that nsDeckFrame::HideBox calls PresShell::ClearMouseCapture and ClearMouseCapture checks whether the being-hidden panel has a content capturing mouse events or not but the check doesn't work if the content is in a remote process. In our current mozilla-central tree, there is no such nsDeckFrame other than our browser's tab. In the case of our browser's tab when switching tabs, i.e. hiding an active tab, clearing the mouse capturing state has (should have) worked since E10S (Note for Fission cases it has worked since bug 1680405). So, because nsDeckFrame will be obsoleted sooner or later, we disallow the situation for other cases instead of adding special handling for the other case. Differential Revision: https://phabricator.services.mozilla.com/D119067
8255bf62f07023b944126e0f56f4de8d081cc641: Bug 1717726 - Remove browser_deck_has_out_of_process_iframe.js. r=tnikkel
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 06 Jul 2021 07:38:06 +0000 - rev 584819
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1717726 - Remove browser_deck_has_out_of_process_iframe.js. r=tnikkel We are going to disallow having any remote <browser>s or <iframe>s inside nsDeckFrame, so this test is no longer necessary. Differential Revision: https://phabricator.services.mozilla.com/D119066
4e17aba743f7d67db359eeb64934e632ce752e44: Bug 1693802 - [remote] Refactor Connection module to be used by CDP and WebDriver BiDi. r=webdriver-reviewers,jdescottes
Henrik Skupin <mail@hskupin.info> - Tue, 06 Jul 2021 07:06:51 +0000 - rev 584818
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1693802 - [remote] Refactor Connection module to be used by CDP and WebDriver BiDi. r=webdriver-reviewers,jdescottes The patch extracts common code that can be re-used by both the CDP, and the upcoming WebDriver BiDi protocol. Differential Revision: https://phabricator.services.mozilla.com/D119108
f4b6178dcaed97a99b0264eb99699d83ab9fe27c: Bug 1718279 - [devtools] Rename Descriptor::reloadBrowsingContext to reloadDescriptor r=ochameau,devtools-backward-compat-reviewers
Julian Descottes <jdescottes@mozilla.com> - Tue, 06 Jul 2021 07:02:31 +0000 - rev 584817
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1718279 - [devtools] Rename Descriptor::reloadBrowsingContext to reloadDescriptor r=ochameau,devtools-backward-compat-reviewers Depends on D118851 The initial name no longer represents accurately what happens for webextension descriptors Differential Revision: https://phabricator.services.mozilla.com/D118852
ce595859dc1bbb488ffa1158a5b17ebe44685535: Bug 1718279 - [devtools] Addon toolbox reload should use the addon manager r=ochameau
Julian Descottes <jdescottes@mozilla.com> - Tue, 06 Jul 2021 07:02:31 +0000 - rev 584816
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1718279 - [devtools] Addon toolbox reload should use the addon manager r=ochameau Depends on D118473 Differential Revision: https://phabricator.services.mozilla.com/D118851
34f5f140fac0c428a5393f87682cbb5c2dbf9d9f: Bug 1719160 - [devtools] Fix checkValue commands test helper. r=jdescottes.
Nicolas Chevobbe <nchevobbe@mozilla.com> - Tue, 06 Jul 2021 05:03:47 +0000 - rev 584815
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1719160 - [devtools] Fix checkValue commands test helper. r=jdescottes. We weren't checking properly undefined value, which was hiding issues in some tests. The helpers are fixed and a few test modified to make them pass. Differential Revision: https://phabricator.services.mozilla.com/D119096
6eb77c24726a2286bf1a0f605742474dd3f3eaa2: Bug 1716863 - Make `HTMLEditor::HandleInsertText()` climb up the tree when `Selection` is in elements which cannot have text nodes r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 06 Jul 2021 04:55:28 +0000 - rev 584814
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1716863 - Make `HTMLEditor::HandleInsertText()` climb up the tree when `Selection` is in elements which cannot have text nodes r=m_kato In most cases, it's called with selection range which is collapsed in a text node, but otherwise, the selection may be in an element which cannot have text nodes. Therefore, before handling the insertion, it should look for ancestor element which can have text nodes. Note that this patch makes inserting text immediately before an inclusive ancestor element whose parent can have a text node. However, both Blink and WebKit ignores if there are invisible/empty inline nodes. So, even with this patch, Gecko keeps failing in some tests of the WPT. It should be handled in a follow up bug because doing it requires complicated code. Differential Revision: https://phabricator.services.mozilla.com/D119065
65e999c556529e6393ab77df631d97eb82c74764: Bug 1716863 - Add WPT to check "insertText" command when selection is collapsed in a void element, and its expected results almost match with Chrome r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 06 Jul 2021 04:55:27 +0000 - rev 584813
Push 38588 by apavel@mozilla.com at Tue, 06 Jul 2021 21:42:42 +0000
Bug 1716863 - Add WPT to check "insertText" command when selection is collapsed in a void element, and its expected results almost match with Chrome r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D119064
1f7ab358eec6d8b8baed711b105742b8ca22dc90: Bug 1718512 - Remove unused BundleEventListener from GeckoNetworkManager. r=geckoview-reviewers,aklotz
Makoto Kato <m_kato@ga2.so-net.ne.jp> - Tue, 06 Jul 2021 04:10:22 +0000 - rev 584812
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1718512 - Remove unused BundleEventListener from GeckoNetworkManager. r=geckoview-reviewers,aklotz By bug 1697680, Gecko removes Presentation API. `Wifi:GetIPAddress` was only used on this API implementation. So now, this is unused. Differential Revision: https://phabricator.services.mozilla.com/D118911
7aa41e595f1f61b8d8943fd0d574156c0d3e347d: Bug 1718157 - Add a rudimentary on screen debug log system r=gfx-reviewers,kvark
Glenn Watson <git@intuitionlibrary.com> - Tue, 06 Jul 2021 00:55:17 +0000 - rev 584811
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1718157 - Add a rudimentary on screen debug log system r=gfx-reviewers,kvark This is useful for debugging problems on systems such as android or windows which can sometimes be tricky to get reliable console output logging. Differential Revision: https://phabricator.services.mozilla.com/D118772
ec15077610d7676b05be0d566d4290d16846148b: Bug 1693069 - Focus the page range field when choosing a custom print range. r=mstriemer
Matthew Noorenberghe <mozilla@noorenberghe.ca> - Mon, 05 Jul 2021 22:55:55 +0000 - rev 584810
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1693069 - Focus the page range field when choosing a custom print range. r=mstriemer Differential Revision: https://phabricator.services.mozilla.com/D118886
eff5378222a2ecb834b7349967aea52b7c94fbd0: Bug 1677606: Run browser_searchbar_focus_timing.js to avoid potential conflicts with other tests. r=Standard8
Daisuke Akatsuka <daisuke@birchill.co.jp> - Mon, 05 Jul 2021 22:52:22 +0000 - rev 584809
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1677606: Run browser_searchbar_focus_timing.js to avoid potential conflicts with other tests. r=Standard8 Differential Revision: https://phabricator.services.mozilla.com/D119043
387b0c7e291b1604d18e675c9a29d4493ac4955b: Bug 1719207 - Install libstdc++ dev package in sysroots. r=firefox-build-system-reviewers,mhentges
Mike Hommey <mh+mozilla@glandium.org> - Mon, 05 Jul 2021 22:47:18 +0000 - rev 584808
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1719207 - Install libstdc++ dev package in sysroots. r=firefox-build-system-reviewers,mhentges Because the build requires a version that is newer than the one available in Debian jessie, we build a newer version. The exact minor version doesn't matter, as long as it's 7.x, so we take the last version that produced a libstdc++6 package (before Debian switched to GCC 8 as the default), and add a few workarounds to fix the packaging that doesn't quite work for jessie out of the box. Differential Revision: https://phabricator.services.mozilla.com/D119124
23a0240a8382bf0eeb81c745c02a83dccc4570e5: Bug 1719205 - Upgrade mmdebstrap to latest version. r=firefox-build-system-reviewers,mhentges
Mike Hommey <mh+mozilla@glandium.org> - Mon, 05 Jul 2021 22:47:18 +0000 - rev 584807
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1719205 - Upgrade mmdebstrap to latest version. r=firefox-build-system-reviewers,mhentges Differential Revision: https://phabricator.services.mozilla.com/D119118
3e7432adb7651224922e19eb804b4e51cf2b46ab: Bug 1718156 - Avoid some configure tests creating the common virtualenv. r=firefox-build-system-reviewers,mhentges,andi
Mike Hommey <mh+mozilla@glandium.org> - Mon, 05 Jul 2021 22:33:56 +0000 - rev 584806
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1718156 - Avoid some configure tests creating the common virtualenv. r=firefox-build-system-reviewers,mhentges,andi When running `mach python-test` on a clobbered tree, we create both the python-test and common virtualenvs, but the former should be enough. The latter is only created when running tests that use the BaseConfigureTest class, when it indirectly includes init.configure, which makes the configure sandbox run the virtualenv_python3 function, which ends up initializing the common virtualenv. We only don't end up re-executing that virtualenv python thanks to 6680ca0acc27 which was a workaround that would allow any virtualenv in $objdir/_virtualenvs, while still creating a virtualenv it won't use. Tests now tell virtualenv_python3 to not use the normal virtualenv manager, and remove the workaround. Differential Revision: https://phabricator.services.mozilla.com/D118775
ff3541181f8a6bb142a7f61e73396e47e3c78559: Bug 1717104: Update "pth" docs for virtualenvs r=ahal
Mitchell Hentges <mhentges@mozilla.com> - Mon, 05 Jul 2021 22:10:35 +0000 - rev 584805
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1717104: Update "pth" docs for virtualenvs r=ahal The "pth" action no longer has a customizable filename, and the docs should be updated accordingly. Depends on D118609 Differential Revision: https://phabricator.services.mozilla.com/D118610
4708c9518cf763d1066aec1f13da3a788920f1d8: Bug 1717104: Remove obsolete "set-variable" notes from virtualenv docs r=ahal
Mitchell Hentges <mhentges@mozilla.com> - Mon, 05 Jul 2021 22:10:35 +0000 - rev 584804
Push 38587 by dluca@mozilla.com at Tue, 06 Jul 2021 09:46:32 +0000
Bug 1717104: Remove obsolete "set-variable" notes from virtualenv docs r=ahal Since https://phabricator.services.mozilla.com/D115921, "set-variable" is no longer a valid action. Looks like that patch forgot to remove the associated docs Differential Revision: https://phabricator.services.mozilla.com/D118609
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip