зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1454441 - 4. Fix Fennec remote debugging; r=esawin
Currently Fennec remote debugging has a bug where custom tabs / PWA can permanently override debugging of Fennec tabs. Fix that bug by switching between the browser/geckoview window types depending on if the Fennec window is gaining or losing focus. MozReview-Commit-ID: KEXPwAfl32X --HG-- extra : rebase_source : c9dd78aa426f2fe27e58ca0fe329e970c1485c35
This commit is contained in:
Родитель
51abedf496
Коммит
f5ad336d62
|
@ -12,9 +12,30 @@ XPCOMUtils.defineLazyGetter(this, "DebuggerServer", () => {
|
|||
});
|
||||
|
||||
var RemoteDebugger = {
|
||||
init() {
|
||||
init(aWindow) {
|
||||
this._windowType = "navigator:browser";
|
||||
|
||||
USBRemoteDebugger.init();
|
||||
WiFiRemoteDebugger.init();
|
||||
|
||||
const listener = (event) => {
|
||||
if (event.target !== aWindow) {
|
||||
return;
|
||||
}
|
||||
|
||||
const newType = (event.type === "activate") ? "navigator:browser"
|
||||
: "navigator:geckoview";
|
||||
if (this._windowType === newType) {
|
||||
return;
|
||||
}
|
||||
|
||||
this._windowType = newType;
|
||||
if (this.isAnyEnabled) {
|
||||
this.initServer();
|
||||
}
|
||||
};
|
||||
aWindow.addEventListener("activate", listener, { mozSystemGroup: true });
|
||||
aWindow.addEventListener("deactivate", listener, { mozSystemGroup: true });
|
||||
},
|
||||
|
||||
get isAnyEnabled() {
|
||||
|
@ -184,6 +205,7 @@ var RemoteDebugger = {
|
|||
|
||||
// Allow debugging of chrome for any process
|
||||
DebuggerServer.allowChromeProcess = true;
|
||||
DebuggerServer.chromeWindowType = this._windowType;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -428,7 +428,7 @@ var BrowserApp = {
|
|||
XPInstallObserver.init();
|
||||
CharacterEncoding.init();
|
||||
ActivityObserver.init();
|
||||
RemoteDebugger.init();
|
||||
RemoteDebugger.init(window);
|
||||
DesktopUserAgent.init();
|
||||
Distribution.init();
|
||||
Tabs.init();
|
||||
|
|
Загрузка…
Ссылка в новой задаче