Skip to content
This repository has been archived by the owner on Sep 2, 2021. It is now read-only.

moving command line error to infobar and fixing windows port range issues #673

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions appshell/appshell_extensions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

extern std::vector<CefString> gDroppedFiles;
extern int g_remote_debugging_port;
extern std::string g_get_remote_debugging_port_error;

namespace appshell_extensions {

Expand All @@ -57,6 +58,7 @@ class ProcessMessageDelegate : public ClientHandler::ProcessMessageDelegate {
CefRefPtr<CefListValue> argList = message->GetArgumentList();
int32 callbackId = -1;
int32 error = NO_ERROR;
std::string errInfo;
CefRefPtr<CefProcessMessage> response =
CefProcessMessage::Create("invokeCallback");
CefRefPtr<CefListValue> responseArgs = response->GetArgumentList();
Expand Down Expand Up @@ -844,7 +846,13 @@ class ProcessMessageDelegate : public ClientHandler::ProcessMessageDelegate {
uberDict->SetList(1, allStats);
responseArgs->SetList(2, uberDict);
} else if (message_name == "GetRemoteDebuggingPort") {
responseArgs->SetInt(2, g_remote_debugging_port);
if (g_get_remote_debugging_port_error.empty() && g_remote_debugging_port > 0) {
responseArgs->SetInt(2, g_remote_debugging_port);
}
else {
responseArgs->SetNull(2);
errInfo = g_get_remote_debugging_port_error;
}
}

else {
Expand All @@ -853,8 +861,13 @@ class ProcessMessageDelegate : public ClientHandler::ProcessMessageDelegate {
}

if (callbackId != -1) {
responseArgs->SetInt(1, error);

if (errInfo.empty()) {
responseArgs->SetInt(1, error);
}
else {
responseArgs->SetString(1, errInfo);
}

// Send response
browser->SendProcessMessage(PID_RENDERER, response);
}
Expand Down
31 changes: 15 additions & 16 deletions appshell/cefclient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

CefRefPtr<ClientHandler> g_handler;
int g_remote_debugging_port = 0;
std::string g_get_remote_debugging_port_error;

#ifdef OS_WIN
bool g_force_enable_acc = false;
Expand Down Expand Up @@ -99,24 +100,22 @@ void AppGetSettings(CefSettings& settings, CefRefPtr<CefCommandLine> command_lin
// Enable dev tools
CefString debugger_port = command_line->GetSwitchValue("remote-debugging-port");
if (!debugger_port.empty()) {
const long port = strtol(debugger_port.ToString().c_str(), NULL, 10);
if (errno == ERANGE || port == 0) {
LOG(ERROR) << "Could not enable remote debugging."
<< " Error while parsing remote-debugging-port arg: "<< debugger_port.ToString();
errno = 0;
g_get_remote_debugging_port_error = debugger_port.ToString();
long port = strtol(g_get_remote_debugging_port_error.c_str(), NULL, 10);
if (errno == ERANGE) {
errno = port = 0;
}
static const long max_port_num = 65535;
static const long max_reserved_port_num = 1023;
if (port > max_reserved_port_num && port < max_port_num) {
g_remote_debugging_port = static_cast<int>(port);
settings.remote_debugging_port = g_remote_debugging_port;
g_get_remote_debugging_port_error.clear();
}
else {
static const long max_port_num = 65534;
static const long max_reserved_port_num = 1025;
if (port >= max_reserved_port_num && port <= max_port_num) {
g_remote_debugging_port = static_cast<int>(port);
settings.remote_debugging_port = g_remote_debugging_port;
}
else {
LOG(ERROR) << "Cannot enable remote debugging on port "<< port
<< ". Port numbers should be between "<< max_reserved_port_num
<< " and " << max_port_num << ".";
}
// Setting debugging port to highest number will disable remote debugging
// As setting.remote_debugging_port has higher priority compared to command line option
settings.remote_debugging_port = max_port_num;
g-217 marked this conversation as resolved.
Show resolved Hide resolved
}
}

Expand Down