Use a UNIX domain socket for debugger server connections on Android (bug 916777). r=mfinkle

--HG--
extra : rebase_source : 66b768dbb2ae45f770ed11aa05aa991141b41a27
This commit is contained in:
Panos Astithas 2013-09-20 15:39:23 +03:00
parent 903d15224a
commit 7a10c14c6e
4 changed files with 17 additions and 4 deletions

View File

@ -444,6 +444,9 @@ pref("dom.max_script_run_time", 20);
// JS error console
pref("devtools.errorconsole.enabled", false);
// Absolute path to the devtools unix domain socket file used
// to communicate with a usb cable via adb forward.
pref("devtools.debugger.unix-domain-socket", "/data/data/@ANDROID_PACKAGE_NAME@/firefox-debugger-socket");
pref("font.size.inflation.minTwips", 120);

View File

@ -7,7 +7,7 @@
for var in ('APP_NAME', 'APP_VERSION'):
DEFINES[var] = CONFIG['MOZ_%s' % var]
for var in ('MOZ_UPDATER', 'MOZ_APP_UA_NAME'):
for var in ('MOZ_UPDATER', 'MOZ_APP_UA_NAME', 'ANDROID_PACKAGE_NAME'):
DEFINES[var] = CONFIG[var]
if CONFIG['MOZ_PKG_SPECIAL']:

View File

@ -149,6 +149,9 @@ let WebappRT = {
let port = serv.port;
serv.close();
Services.prefs.setIntPref("devtools.debugger.remote-port", port);
// Clear the UNIX domain socket path to ensure a TCP socket will be used
// instead.
Services.prefs.setCharPref("devtools.debugger.unix-domain-socket", "");
Services.prefs.setBoolPref("devtools.debugger.remote-enabled", true);

View File

@ -7285,6 +7285,7 @@ var RemoteDebugger = {
break;
case "devtools.debugger.remote-port":
case "devtools.debugger.unix-domain-socket":
if (this._isEnabled())
this._restart();
break;
@ -7300,6 +7301,10 @@ var RemoteDebugger = {
return Services.prefs.getIntPref("devtools.debugger.remote-port");
},
_getPath: function _rd_getPath() {
return Services.prefs.getCharPref("devtools.debugger.unix-domain-socket");
},
_isEnabled: function rd_isEnabled() {
return Services.prefs.getBoolPref("devtools.debugger.remote-enabled");
},
@ -7361,9 +7366,11 @@ var RemoteDebugger = {
DebuggerServer.registerModule("resource://gre/modules/dbg-browser-actors.js");
}
let port = this._getPort();
DebuggerServer.openListener(port);
dump("Remote debugger listening on port " + port);
let pathOrPort = this._getPath();
if (!pathOrPort)
pathOrPort = this._getPort();
DebuggerServer.openListener(pathOrPort);
dump("Remote debugger listening at path " + pathOrPort);
} catch(e) {
dump("Remote debugger didn't start: " + e);
}