We need to put a timestamp to nsRemoteService::HandleCommandLine() to allow Gtk+ focus
opened Firefox window.
Unfortunately we don't have much choice how to get the timestamp at DBUS remote service
so ask for gtk_get_current_event_time() and when GDK_CURRENT_TIME is returned
(it means we don't have the timestamp) use g_get_monotonic_time() as well
as at nsWindow::GetEventTimeStamp().
MozReview-Commit-ID: 9ilVZ0kPe3x
DBus strings can contain only [a-z][A-Z][0-9]_ chars. Encode profile name (used as part of interface name) by base64 and adjust it to avoid crashes (Bug 1418985).
Also remove DBusError where it's not useful.
MozReview-Commit-ID: DWnzFGUYybp
It creates new nsRemoteService instance which is parent (proxy) class which is registered as global nsIRemoteService. It provides basic functionality (watch observer for shutdown, launch firefox instance by HandleCommandLine()) for child services which are system specific. nsDBusRemoteService listens on DBus interface and it's available on DBus enabled systems only. nsGtkRemoteService is the former one based on X window propery mechanism.
MozReview-Commit-ID: GHpXdjstwyY